diff --git a/crates/op-rbuilder/src/launcher.rs b/crates/op-rbuilder/src/launcher.rs index 29f5bd7..e80ed37 100644 --- a/crates/op-rbuilder/src/launcher.rs +++ b/crates/op-rbuilder/src/launcher.rs @@ -3,7 +3,7 @@ use eyre::Result; use crate::{ args::*, builders::{BuilderConfig, BuilderMode, FlashblocksBuilder, PayloadBuilder, StandardBuilder}, - metrics::VERSION, + metrics::{FlagMetrics, VERSION}, monitor_tx_pool::monitor_tx_pool, primitives::reth::engine_api_builder::OpEngineApiBuilder, revert_protection::{EthApiExtServer, EthApiOverrideServer, RevertProtectionExt}, @@ -98,6 +98,8 @@ where let builder_config = BuilderConfig::::try_from(builder_args.clone()) .expect("Failed to convert rollup args to builder config"); + FlagMetrics::record_flags(&builder_args); + let da_config = builder_config.da_config.clone(); let rollup_args = builder_args.rollup_args; let op_node = OpNode::new(rollup_args.clone()); diff --git a/crates/op-rbuilder/src/metrics.rs b/crates/op-rbuilder/src/metrics.rs index b18ba6b..576e63d 100644 --- a/crates/op-rbuilder/src/metrics.rs +++ b/crates/op-rbuilder/src/metrics.rs @@ -4,6 +4,8 @@ use reth_metrics::{ Metrics, }; +use crate::args::OpRbuilderArgs; + /// The latest version from Cargo.toml. pub const CARGO_PKG_VERSION: &str = env!("CARGO_PKG_VERSION"); @@ -155,6 +157,35 @@ impl OpRBuilderMetrics { } } +/// Gauges to check whether particular flags are enabled or not +#[derive(Metrics, Clone)] +#[metrics(scope = "op_rbuilder_flags")] +pub struct FlagMetrics { + /// Whether flashblocks.enabled is set or not + pub flashblocks_enabled: Gauge, + /// Whether flashtestations.enabled is set or not + pub flashtestations_enabled: Gauge, + /// Whether builder.enable-revert-protection is set or not + pub enable_revert_protection: Gauge, +} + +impl FlagMetrics { + /// Set gauge metrics for some flags so we can inspect which ones are set + /// and which ones aren't. + pub fn record_flags(builder_args: &OpRbuilderArgs) { + let flag_metrics = Self::default(); + flag_metrics + .flashblocks_enabled + .set(builder_args.flashblocks.enabled as i32); + flag_metrics + .flashtestations_enabled + .set(builder_args.flashtestations.flashtestations_enabled as i32); + flag_metrics + .enable_revert_protection + .set(builder_args.enable_revert_protection as i32); + } +} + /// Contains version information for the application. #[derive(Debug, Clone)] pub struct VersionInfo {