reth_basic_payload_builder/
metrics.rs

1//! Metrics for the payload builder impl
2
3use reth_metrics::{metrics::Counter, Metrics};
4
5/// Transaction pool metrics
6#[derive(Metrics)]
7#[metrics(scope = "payloads")]
8pub(crate) struct PayloadBuilderMetrics {
9    /// Total number of times an empty payload was returned because a built one was not ready.
10    pub(crate) requested_empty_payload: Counter,
11    /// Total number of initiated payload build attempts.
12    pub(crate) initiated_payload_builds: Counter,
13    /// Total number of failed payload build attempts.
14    pub(crate) failed_payload_builds: Counter,
15}
16
17impl PayloadBuilderMetrics {
18    pub(crate) fn inc_requested_empty_payload(&self) {
19        self.requested_empty_payload.increment(1);
20    }
21
22    pub(crate) fn inc_initiated_payload_builds(&self) {
23        self.initiated_payload_builds.increment(1);
24    }
25
26    pub(crate) fn inc_failed_payload_builds(&self) {
27        self.failed_payload_builds.increment(1);
28    }
29}