tempo_payload_builder/
metrics.rs

1use metrics::Gauge;
2use reth_metrics::{Metrics, metrics::Histogram};
3
4#[derive(Metrics, Clone)]
5#[metrics(scope = "tempo_payload_builder")]
6pub(crate) struct TempoPayloadBuilderMetrics {
7    /// Block time in milliseconds.
8    pub(crate) block_time_millis: Histogram,
9    /// Block time in milliseconds.
10    pub(crate) block_time_millis_last: Gauge,
11    /// Number of transactions in the payload.
12    pub(crate) total_transactions: Histogram,
13    /// Number of transactions in the payload.
14    pub(crate) total_transactions_last: Gauge,
15    /// Number of payment transactions in the payload.
16    pub(crate) payment_transactions: Histogram,
17    /// Number of payment transactions in the payload.
18    pub(crate) payment_transactions_last: Gauge,
19    /// Number of subblocks in the payload.
20    pub(crate) subblocks: Histogram,
21    /// Number of subblocks in the payload.
22    pub(crate) subblocks_last: Gauge,
23    /// Number of subblock transactions in the payload.
24    pub(crate) subblock_transactions: Histogram,
25    /// Number of subblock transactions in the payload.
26    pub(crate) subblock_transactions_last: Gauge,
27    /// Amount of gas used in the payload.
28    pub(crate) gas_used: Histogram,
29    /// Amount of gas used in the payload.
30    pub(crate) gas_used_last: Gauge,
31    /// The time it took to prepare system transactions in seconds.
32    pub(crate) prepare_system_transactions_duration_seconds: Histogram,
33    /// The time it took to execute start-of-block system transactions in seconds.
34    pub(crate) start_block_txs_execution_duration_seconds: Histogram,
35    /// The time it took to execute one transaction in seconds.
36    pub(crate) transaction_execution_duration_seconds: Histogram,
37    /// The time it took to execute normal transactions in seconds.
38    pub(crate) total_normal_transaction_execution_duration_seconds: Histogram,
39    /// The time it took to execute subblock transactions in seconds.
40    pub(crate) total_subblock_transaction_execution_duration_seconds: Histogram,
41    /// The time it took to execute all transactions in seconds.
42    pub(crate) total_transaction_execution_duration_seconds: Histogram,
43    /// The time it took to execute system transactions in seconds.
44    pub(crate) system_transactions_execution_duration_seconds: Histogram,
45    /// The time it took to finalize the payload in seconds. Includes merging transitions and calculating the state root.
46    pub(crate) payload_finalization_duration_seconds: Histogram,
47    /// Total time it took to build the payload in seconds.
48    pub(crate) payload_build_duration_seconds: Histogram,
49    /// Gas per second calculated as gas_used / payload_build_duration.
50    pub(crate) gas_per_second: Histogram,
51    /// Gas per second for the last payload calculated as gas_used / payload_build_duration.
52    pub(crate) gas_per_second_last: Gauge,
53}