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}