Skip to content

[do not merge] draft branch to integrate column metrics #7110

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 2 commits into
base: column-syncer
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions beacon_chain/gossip_processing/gossip_validation.nim
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,16 @@ declareCounter beacon_sync_messages_dropped_queue_full,
declareCounter beacon_contributions_dropped_queue_full,
"Number of sync committee contributions dropped because queue is full"

declareCounter beacon_data_column_sidecar_processing_requests_total,
"Number of data column sidecars submitted for processing"

declareCounter beacon_data_column_sidecar_processing_successes_total,
"Number of data column sidecars verified for gossip"

declareHistogram beacon_data_column_sidecar_gossip_verification_seconds,
"Full runtime of data column sidecars gossip verification",
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]

# This result is a little messy in that it returns Result.ok for
# ValidationResult.Accept and an err for the others - this helps transport
# an error message to callers but could arguably be done in an cleaner way.
Expand Down Expand Up @@ -543,6 +553,11 @@ proc validateDataColumnSidecar*(

template block_header: untyped = data_column_sidecar.signed_block_header.message

beacon_data_column_sidecar_processing_requests_total.inc()

let
startTick = Moment.now()

# [REJECT] The sidecar's index is consistent with `NUMBER_OF_COLUMNS`
# -- i.e. `data_column_sidecar.index < NUMBER_OF_COLUMNS`
if not (data_column_sidecar.index < dag.cfg.NUMBER_OF_COLUMNS):
Expand Down Expand Up @@ -657,6 +672,14 @@ proc validateDataColumnSidecar*(
if not(isNil(dataColumnQuarantine.onDataColumnSidecarCallback)):
dataColumnQuarantine.onDataColumnSidecarCallback(data_column_sidecar)

let
validationTick = Moment.now()
validationDur = validationTick - startTick

beacon_data_column_sidecar_gossip_verification_seconds.observe(validationDur.toFloatSeconds())

beacon_data_column_sidecar_processing_successes_total.inc()

ok()

# https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/phase0/p2p-interface.md#beacon_block
Expand Down
Loading