@@ -43,6 +43,16 @@ declareCounter beacon_sync_messages_dropped_queue_full,
4343declareCounter beacon_contributions_dropped_queue_full,
4444 " Number of sync committee contributions dropped because queue is full"
4545
46+ declareCounter beacon_data_column_sidecar_processing_requests_total,
47+ " Number of data column sidecars submitted for processing"
48+
49+ declareCounter beacon_data_column_sidecar_processing_successes_total,
50+ " Number of data column sidecars verified for gossip"
51+
52+ declareHistogram beacon_data_column_sidecar_gossip_verification_seconds,
53+ " Full runtime of data column sidecars gossip verification" ,
54+ buckets = [0.005 , 0.01 , 0.025 , 0.05 , 0.075 , 0.1 , 0.25 , 0.5 , 0.75 , 1.0 , 2.5 , 5.0 , 7.5 , 10.0 , Inf ]
55+
4656# This result is a little messy in that it returns Result.ok for
4757# ValidationResult.Accept and an err for the others - this helps transport
4858# an error message to callers but could arguably be done in an cleaner way.
@@ -543,6 +553,11 @@ proc validateDataColumnSidecar*(
543553
544554 template block_header : untyped = data_column_sidecar.signed_block_header.message
545555
556+ beacon_data_column_sidecar_processing_requests_total.inc ()
557+
558+ let
559+ startTick = Moment .now ()
560+
546561 # [REJECT] The sidecar's index is consistent with `NUMBER_OF_COLUMNS`
547562 # -- i.e. `data_column_sidecar.index < NUMBER_OF_COLUMNS`
548563 if not (data_column_sidecar.index < dag.cfg.NUMBER_OF_COLUMNS ):
@@ -657,6 +672,14 @@ proc validateDataColumnSidecar*(
657672 if not (isNil (dataColumnQuarantine.onDataColumnSidecarCallback)):
658673 dataColumnQuarantine.onDataColumnSidecarCallback (data_column_sidecar)
659674
675+ let
676+ validationTick = Moment .now ()
677+ validationDur = validationTick - startTick
678+
679+ beacon_data_column_sidecar_gossip_verification_seconds.observe (validationDur.toFloatSeconds ())
680+
681+ beacon_data_column_sidecar_processing_successes_total.inc ()
682+
660683 ok ()
661684
662685# https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/phase0/p2p-interface.md#beacon_block
0 commit comments