9292 Name : "pool_rpc_node_polls_success" ,
9393 Help : "The total number of successful poll checks for the given RPC node" ,
9494 }, []string {"network" , "chainID" , "nodeName" })
95+ promPoolRPCNodeFinalizedStateFailed = promauto .NewCounterVec (prometheus.CounterOpts {
96+ Name : "pool_rpc_node_finalized_state_failed" ,
97+ Help : "The total number of finalized state availability check failures for the given RPC node" ,
98+ }, []string {"network" , "chainID" , "nodeName" })
99+ promPoolRPCNodeTransitionsToFinalizedStateNotAvailable = promauto .NewCounterVec (prometheus.CounterOpts {
100+ Name : "pool_rpc_node_num_transitions_to_finalized_state_not_available" ,
101+ Help : "Total number of transitions to FinalizedStateNotAvailable" ,
102+ }, []string {"network" , "chainID" , "nodeName" })
95103
96104 // Transaction Sender
97105 promMultiNodeInvariantViolations = promauto .NewCounterVec (prometheus.CounterOpts {
@@ -120,6 +128,8 @@ type GenericMultiNodeMetrics interface {
120128 IncrementPolls (ctx context.Context , nodeName string )
121129 IncrementPollsFailed (ctx context.Context , nodeName string )
122130 IncrementPollsSuccess (ctx context.Context , nodeName string )
131+ IncrementFinalizedStateFailed (ctx context.Context , nodeName string )
132+ IncrementNodeTransitionsToFinalizedStateNotAvailable (ctx context.Context , nodeName string )
123133}
124134
125135var _ GenericMultiNodeMetrics = & multiNodeMetrics {}
@@ -142,10 +152,12 @@ type multiNodeMetrics struct {
142152 highestSeenBlock metric.Int64Gauge
143153 highestFinalizedBlock metric.Int64Gauge
144154 seenBlocks metric.Int64Counter
145- polls metric.Int64Counter
146- pollsFailed metric.Int64Counter
147- pollsSuccess metric.Int64Counter
148- invariantViolations metric.Int64Counter
155+ polls metric.Int64Counter
156+ pollsFailed metric.Int64Counter
157+ pollsSuccess metric.Int64Counter
158+ finalizedStateFailed metric.Int64Counter
159+ nodeTransitionsToFinalizedStateNotAvailable metric.Int64Counter
160+ invariantViolations metric.Int64Counter
149161}
150162
151163func NewGenericMultiNodeMetrics (network string , chainID string ) (GenericMultiNodeMetrics , error ) {
@@ -239,6 +251,16 @@ func NewGenericMultiNodeMetrics(network string, chainID string) (GenericMultiNod
239251 return nil , fmt .Errorf ("failed to register node polls success metric: %w" , err )
240252 }
241253
254+ finalizedStateFailed , err := beholder .GetMeter ().Int64Counter ("pool_rpc_node_finalized_state_failed" )
255+ if err != nil {
256+ return nil , fmt .Errorf ("failed to register finalized state failed metric: %w" , err )
257+ }
258+
259+ nodeTransitionsToFinalizedStateNotAvailable , err := beholder .GetMeter ().Int64Counter ("pool_rpc_node_num_transitions_to_finalized_state_not_available" )
260+ if err != nil {
261+ return nil , fmt .Errorf ("failed to register node transitions to finalized state not available metric: %w" , err )
262+ }
263+
242264 invariantViolations , err := beholder .GetMeter ().Int64Counter ("multi_node_invariant_violations" )
243265 if err != nil {
244266 return nil , fmt .Errorf ("failed to register invariant violations metric: %w" , err )
@@ -265,6 +287,8 @@ func NewGenericMultiNodeMetrics(network string, chainID string) (GenericMultiNod
265287 polls : polls ,
266288 pollsFailed : pollsFailed ,
267289 pollsSuccess : pollsSuccess ,
290+ finalizedStateFailed : finalizedStateFailed ,
291+ nodeTransitionsToFinalizedStateNotAvailable : nodeTransitionsToFinalizedStateNotAvailable ,
268292 invariantViolations : invariantViolations ,
269293 }, nil
270294}
@@ -414,6 +438,22 @@ func (m *multiNodeMetrics) IncrementPollsSuccess(ctx context.Context, nodeName s
414438 attribute .String ("nodeName" , nodeName )))
415439}
416440
441+ func (m * multiNodeMetrics ) IncrementFinalizedStateFailed (ctx context.Context , nodeName string ) {
442+ promPoolRPCNodeFinalizedStateFailed .WithLabelValues (m .network , m .chainID , nodeName ).Inc ()
443+ m .finalizedStateFailed .Add (ctx , 1 , metric .WithAttributes (
444+ attribute .String ("network" , m .network ),
445+ attribute .String ("chainID" , m .chainID ),
446+ attribute .String ("nodeName" , nodeName )))
447+ }
448+
449+ func (m * multiNodeMetrics ) IncrementNodeTransitionsToFinalizedStateNotAvailable (ctx context.Context , nodeName string ) {
450+ promPoolRPCNodeTransitionsToFinalizedStateNotAvailable .WithLabelValues (m .network , m .chainID , nodeName ).Inc ()
451+ m .nodeTransitionsToFinalizedStateNotAvailable .Add (ctx , 1 , metric .WithAttributes (
452+ attribute .String ("network" , m .network ),
453+ attribute .String ("chainID" , m .chainID ),
454+ attribute .String ("nodeName" , nodeName )))
455+ }
456+
417457func (m * multiNodeMetrics ) IncrementInvariantViolations (ctx context.Context , invariant string ) {
418458 promMultiNodeInvariantViolations .WithLabelValues (m .network , m .chainID , invariant ).Inc ()
419459 m .invariantViolations .Add (ctx , 1 , metric .WithAttributes (
0 commit comments