chore(rpc): Moves SequencerMetrics into reth-optimism-rpc (#18921)

This commit is contained in:
Emilia Hane
2025-10-13 12:24:55 +02:00
committed by GitHub
parent 16ba9e8979
commit 0f14980d88
4 changed files with 25 additions and 19 deletions

View File

@@ -12,6 +12,7 @@ pub mod engine;
pub mod error;
pub mod eth;
pub mod historical;
pub mod metrics;
pub mod miner;
pub mod sequencer;
pub mod witness;
@@ -21,4 +22,5 @@ pub use engine::OpEngineApiClient;
pub use engine::{OpEngineApi, OpEngineApiServer, OP_ENGINE_CAPABILITIES};
pub use error::{OpEthApiError, OpInvalidTransactionError, SequencerClientError};
pub use eth::{OpEthApi, OpEthApiBuilder, OpReceiptBuilder};
pub use metrics::SequencerMetrics;
pub use sequencer::SequencerClient;

View File

@@ -0,0 +1,21 @@
//! RPC metrics unique for OP-stack.
use core::time::Duration;
use metrics::Histogram;
use reth_metrics::Metrics;
/// Optimism sequencer metrics
#[derive(Metrics, Clone)]
#[metrics(scope = "optimism_rpc.sequencer")]
pub struct SequencerMetrics {
/// How long it takes to forward a transaction to the sequencer
pub(crate) sequencer_forward_latency: Histogram,
}
impl SequencerMetrics {
/// Records the duration it took to forward a transaction
#[inline]
pub fn record_forward_latency(&self, duration: Duration) {
self.sequencer_forward_latency.record(duration.as_secs_f64());
}
}

View File

@@ -1,12 +1,11 @@
//! Helpers for optimism specific RPC implementations.
use crate::SequencerClientError;
use crate::{SequencerClientError, SequencerMetrics};
use alloy_json_rpc::{RpcRecv, RpcSend};
use alloy_primitives::{hex, B256};
use alloy_rpc_client::{BuiltInConnectionString, ClientBuilder, RpcClient as Client};
use alloy_rpc_types_eth::erc4337::TransactionConditional;
use alloy_transport_http::Http;
use reth_optimism_txpool::supervisor::metrics::SequencerMetrics;
use std::{str::FromStr, sync::Arc, time::Instant};
use thiserror::Error;
use tracing::warn;

View File

@@ -1,4 +1,4 @@
//! Optimism supervisor and sequencer metrics
//! Optimism supervisor metrics
use crate::supervisor::InteropTxValidatorError;
use op_alloy_rpc_types::SuperchainDAError;
@@ -70,19 +70,3 @@ impl SupervisorMetrics {
}
}
}
/// Optimism sequencer metrics
#[derive(Metrics, Clone)]
#[metrics(scope = "optimism_transaction_pool.sequencer")]
pub struct SequencerMetrics {
/// How long it takes to forward a transaction to the sequencer
pub(crate) sequencer_forward_latency: Histogram,
}
impl SequencerMetrics {
/// Records the duration it took to forward a transaction
#[inline]
pub fn record_forward_latency(&self, duration: Duration) {
self.sequencer_forward_latency.record(duration.as_secs_f64());
}
}