# 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._