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}