reth_optimism_rpc/
metrics.rs

1//! RPC metrics unique for OP-stack.
2
3use core::time::Duration;
4use metrics::Histogram;
5use reth_metrics::Metrics;
6
7/// Optimism sequencer metrics
8#[derive(Metrics, Clone)]
9#[metrics(scope = "optimism_rpc.sequencer")]
10pub struct SequencerMetrics {
11    /// How long it takes to forward a transaction to the sequencer
12    pub(crate) sequencer_forward_latency: Histogram,
13}
14
15impl SequencerMetrics {
16    /// Records the duration it took to forward a transaction
17    #[inline]
18    pub fn record_forward_latency(&self, duration: Duration) {
19        self.sequencer_forward_latency.record(duration.as_secs_f64());
20    }
21}