# Beacon block received timing metrics ### Lighthouse Full metrics list: https://github.com/sigp/lighthouse/blob/6d5a2b509fac7b6ffe693866f58ba49989f946d7/beacon_node/beacon_chain/src/metrics.rs#L452 To enable metrics prefixed `validator_monitor` refer to these docs: https://lighthouse-book.sigmaprime.io/validator-monitoring.html#how-to-enable-monitoring Validator monitoring is per-validator so if sentry nodes don't have a connected VC, you'll need to explicitly list a set of validator pubkeys with `--validator-monitor-pubkeys`. Otherwise `--validator-monitor-auto` will detect validators in a local VC. - `beacon_block_observed_slot_start_delay_time`: Duration between the start of the block's slot and the time the block was observed. - `beacon_block_imported_observed_delay_time`: Duration between the time the block was observed and the time when it was imported. - `beacon_block_head_slot_start_delay_time`: Duration between the start of the block's slot and the time when it was set as head. - `beacon_block_head_slot_start_delay_exceeded_total`: Triggered when the duration between the start of the block's slot and the current time will result in failed attestations. - `validator_monitor_unaggregated_attestation_delay_seconds`: The delay between when the validator should send the attestation and when it was received. - `validator_monitor_sync_committee_messages_delay_seconds`: The delay between when the validator should send the sync committee message and when it was received. _note: network ingress is threaded per client, metrics should reflect reality unless peer send a high burst of messages_ ### Lodestar Full metrics list: https://github.com/ChainSafe/lodestar/blob/1ceaa20ebef7a7adcf9709c323b128d4b4fbeba6/packages/beacon-node/src/metrics/metrics/lodestar.ts#L666 - `lodestar_gossip_block_elapsed_time_till_received`: Time elapsed between block slot time and the time block received via gossip - `lodestar_gossip_block_elapsed_time_till_processed`: Time elapsed between block slot time and the time block processed - `lodestar_gossip_block_elapsed_time_till_become_head`: Time elapsed between block slot time and the time block becomes head - `validator_monitor_prev_epoch_attestations_min_delay_seconds`: The min delay between when the validator should send the attestation and when it was received - `validator_monitor_prev_epoch_aggregates_min_delay_seconds`: The min delay between when the validator should send the aggregate and when it was received _note: Lodestar network ingress is single threaded, metrics may be distorted for underprovisioned hosts_ ### Nimbus For full metrics text search `declareGauge` and `declareCounter` and `declareHistogram`. - `validator_monitor_prev_epoch_attestations_min_delay_seconds`: The min delay between when the validator should send the attestation and when it was received. - `validator_monitor_prev_epoch_aggregates_min_delay_seconds`: The min delay between when the validator should send the aggregate and when it was received. - `validator_monitor_prev_epoch_sync_committee_messages_min_delay_seconds`: The min delay between when the validator should send the sync committee message and when it was received. - `validator_monitor_prev_epoch_sync_contribution_min_delay_seconds`: The min delay between when the validator should send the sync contribution and when it was received. - `beacon_attestation_delay`: Time(s) between slot start and attestation reception network wide via gossip - `beacon_aggregate_delay`: Time(s) between slot start and aggregate reception network wide via gossip - `beacon_block_delay`: Time(s) between slot start and beacon block reception _note: from offline chats seems Nimbus does not thread network ingress per peer so metrics may appear distorted under heavy load_ ### Teku For full metrics text search `SettableGauge` and `metricsSystem` - `beacon_block_import_delay_summary`: Histogram recording delay in milliseconds at each stage of block import. With labels: arrival, pre-state_retrieved, processed, transaction_prepared, transaction_committed, completed. ([Source code](https://github.com/ConsenSys/teku/blob/da4be8e824e6d2bfa4cfd7c902254e0e10b6fba5/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/block/BlockImportMetrics.java#L55)) - `beacon_block_import_delay_counter`: Counter of blocks falling in different time frames in each import stages. ([Source code](https://github.com/ConsenSys/teku/blob/da4be8e824e6d2bfa4cfd7c902254e0e10b6fba5/ethereum/statetransition/src/main/java/tech/pegasys/teku/statetransition/block/BlockImportMetrics.java#L77)) - `attestation_publication_delay` Counter of attestations published in different time intervals after their due time - `block_publication_delay` Counter of blocks published in different time intervals after their due time _Validator metrics appear to not track submit delay_ ### Prysm For full metrics text search `promauto.`. _Apparently none of the metrics above are supported._