CometBFT can report and serve Prometheus metrics, which in turn can be consumed by Prometheus collector(s). This functionality is disabled by default. To enable Prometheus metrics, set instrumentation.prometheus=true in your config file. Metrics will be served under /metrics on port 26660 by default. The listen address can be changed in the config file (see instrumentation.prometheus\_listen\_addr).

List of available metrics

The following metrics are available:
NameTypeTagsDescription
abci_connection_method_timing_secondsHistogrammethod, typeTimings for each of the ABCI methods
blocksync_syncingGaugeEither 0 (not block syncing) or 1 (syncing)
consensus_heightGaugeHeight of the chain
consensus_validatorsGaugeNumber of validators
consensus_validators_powerGaugeTotal voting power of all validators
consensus_validator_powerGaugeVoting power of the node if in the validator set
consensus_validator_last_signed_heightGaugeLast height the node signed a block, if the node is a validator
consensus_validator_missed_blocksGaugeTotal number of blocks missed for the node, if the node is a validator
consensus_missing_validatorsGaugeNumber of validators who did not sign
consensus_missing_validators_powerGaugeTotal voting power of the missing validators
consensus_byzantine_validatorsGaugeNumber of validators who tried to double sign
consensus_byzantine_validators_powerGaugeTotal voting power of the byzantine validators
consensus_block_interval_secondsHistogramTime between this and the last block (Block.Header.Time) in seconds
consensus_roundsGaugeNumber of rounds
consensus_num_txsGaugeNumber of transactions
consensus_total_txsGaugeTotal number of transactions committed
consensus_block_partsCounterpeer_idNumber of block parts transmitted by peer
consensus_latest_block_heightGauge/status sync_info number
consensus_block_size_bytesGaugeBlock size in bytes
consensus_step_durationHistogramstepHistogram of durations for each step in the consensus protocol
consensus_round_durationHistogramHistogram of durations for all the rounds that have occurred since the process started
consensus_block_gossip_parts_receivedCountermatches_currentNumber of block parts received by the node
consensus_quorum_prevote_delayGaugeInterval in seconds between the proposal timestamp and the timestamp of the earliest prevote that achieved a quorum
consensus_full_prevote_delayGaugeInterval in seconds between the proposal timestamp and the timestamp of the latest prevote in a round where all validators voted
consensus_vote_extension_receive_countCounterstatusNumber of vote extensions received
consensus_proposal_receive_countCounterstatusTotal number of proposals received by the node since process start
consensus_proposal_create_countCounterTotal number of proposals created by the node since process start
consensus_round_voting_power_percentGaugevote_typeA value between 0 and 1.0 representing the percentage of the total voting power per vote type received within a round
consensus_late_votesCountervote_typeNumber of votes received by the node since process start that correspond to earlier heights and rounds than this node is currently in
p2p_message_send_bytes_totalCountermessage_typeNumber of bytes sent to all peers per message type
p2p_message_receive_bytes_totalCountermessage_typeNumber of bytes received from all peers per message type
p2p_peersGaugeNumber of peers the node is connected to
p2p_peer_receive_bytes_totalCounterpeer_id, chIDNumber of bytes per channel received from a given peer
p2p_peer_send_bytes_totalCounterpeer_id, chIDNumber of bytes per channel sent to a given peer
p2p_peer_pending_send_bytesGaugepeer_idNumber of pending bytes to be sent to a given peer
p2p_num_txsGaugepeer_idNumber of transactions submitted by each peer_id
p2p_pending_send_bytesGaugepeer_idAmount of data pending to be sent to peer
mempool_sizeGaugeNumber of uncommitted transactions
mempool_tx_size_bytesHistogramTransaction sizes in bytes
mempool_failed_txsCounterNumber of failed transactions
mempool_recheck_timesCounterNumber of transactions rechecked in the mempool
state_block_processing_timeHistogramTime spent processing FinalizeBlock in ms
state_consensus_param_updatesCounterNumber of consensus parameter updates returned by the application since process start
state_validator_set_updatesCounterNumber of validator set updates returned by the application since process start
statesync_syncingGaugeEither 0 (not state syncing) or 1 (syncing)

Useful queries

Percentage of missing + byzantine validators:
((consensus\_byzantine\_validators\_power + consensus\_missing\_validators\_power) / consensus\_validators\_power) * 100