diff --git a/packages/taiko-client/driver/preconf_blocks/server.go b/packages/taiko-client/driver/preconf_blocks/server.go index f741bcbfd3..9ffececc57 100644 --- a/packages/taiko-client/driver/preconf_blocks/server.go +++ b/packages/taiko-client/driver/preconf_blocks/server.go @@ -200,6 +200,7 @@ func (s *PreconfBlockAPIServer) OnUnsafeL2Payload( "parentHash", msg.ExecutionPayload.ParentHash.Hex(), "error", err, ) + metrics.DriverPreconfP2PInvalidEnvelopeCounter.Inc() return nil } @@ -209,6 +210,7 @@ func (s *PreconfBlockAPIServer) OnUnsafeL2Payload( return fmt.Errorf("failed to fetch head L1 origin: %w", err) } if headL1Origin != nil && uint64(msg.ExecutionPayload.BlockNumber) <= headL1Origin.BlockID.Uint64() { + metrics.DriverPreconfP2POutdatedEnvelopeCounter.Inc() return fmt.Errorf( "preconfirmation block ID (%d) is less than or equal to the current head L1 origin block ID (%d)", msg.ExecutionPayload.BlockNumber, @@ -263,6 +265,7 @@ func (s *PreconfBlockAPIServer) OnUnsafeL2Payload( ) s.payloadsCache.put(uint64(msg.ExecutionPayload.BlockNumber), msg.ExecutionPayload) + metrics.DriverPreconfP2PEnvelopeCachedCounter.Inc() } return nil } diff --git a/packages/taiko-client/internal/metrics/metrics.go b/packages/taiko-client/internal/metrics/metrics.go index 3dc8bc1949..2005c56115 100644 --- a/packages/taiko-client/internal/metrics/metrics.go +++ b/packages/taiko-client/internal/metrics/metrics.go @@ -20,13 +20,22 @@ var ( factory = opMetrics.With(registry) // Driver - DriverL1HeadHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l1Head_height"}) - DriverL2HeadHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l2Head_height"}) - DriverL2PreconfHeadHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_preconf_l2Head_height"}) - DriverL1CurrentHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l1Current_height"}) - DriverL2HeadIDGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l2Head_id"}) - DriverL2VerifiedHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l2Verified_id"}) - DriverPreconfP2PEnvelopeCounter = factory.NewCounter(prometheus.CounterOpts{Name: "driver_p2p_envelope"}) + DriverL1HeadHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l1Head_height"}) + DriverL2HeadHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l2Head_height"}) + DriverL2PreconfHeadHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_preconf_l2Head_height"}) + DriverL1CurrentHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l1Current_height"}) + DriverL2HeadIDGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l2Head_id"}) + DriverL2VerifiedHeightGauge = factory.NewGauge(prometheus.GaugeOpts{Name: "driver_l2Verified_id"}) + DriverPreconfP2PEnvelopeCounter = factory.NewCounter(prometheus.CounterOpts{Name: "driver_p2p_envelope"}) + DriverPreconfP2PInvalidEnvelopeCounter = factory.NewCounter(prometheus.CounterOpts{ + Name: "driver_p2p_invalid_envelope", + }) + DriverPreconfP2POutdatedEnvelopeCounter = factory.NewCounter(prometheus.CounterOpts{ + Name: "driver_p2p_outdated_envelope", + }) + DriverPreconfP2PEnvelopeCachedCounter = factory.NewCounter(prometheus.CounterOpts{ + Name: "driver_p2p_envelope_cached", + }) // Proposer ProposerProposeEpochCounter = factory.NewCounter(prometheus.CounterOpts{Name: "proposer_epoch"})