Skip to content

Commit 32f570f

Browse files
committed
gauge metrics to inspect flag settings
1 parent f0636ba commit 32f570f

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

crates/op-rbuilder/src/launcher.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use eyre::Result;
33
use crate::{
44
args::*,
55
builders::{BuilderConfig, BuilderMode, FlashblocksBuilder, PayloadBuilder, StandardBuilder},
6-
metrics::VERSION,
6+
metrics::{FlagMetrics, VERSION},
77
monitor_tx_pool::monitor_tx_pool,
88
primitives::reth::engine_api_builder::OpEngineApiBuilder,
99
revert_protection::{EthApiExtServer, EthApiOverrideServer, RevertProtectionExt},
@@ -98,6 +98,8 @@ where
9898
let builder_config = BuilderConfig::<B::Config>::try_from(builder_args.clone())
9999
.expect("Failed to convert rollup args to builder config");
100100

101+
FlagMetrics::record_flags(&builder_args);
102+
101103
let da_config = builder_config.da_config.clone();
102104
let rollup_args = builder_args.rollup_args;
103105
let op_node = OpNode::new(rollup_args.clone());

crates/op-rbuilder/src/metrics.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ use reth_metrics::{
33
Metrics,
44
};
55

6+
use crate::args::OpRbuilderArgs;
7+
68
/// The latest version from Cargo.toml.
79
pub const CARGO_PKG_VERSION: &str = env!("CARGO_PKG_VERSION");
810

@@ -96,6 +98,35 @@ pub struct OpRBuilderMetrics {
9698
pub bundle_receive_duration: Histogram,
9799
}
98100

101+
/// Gauges to check whether particular flags are enabled or not
102+
#[derive(Metrics, Clone)]
103+
#[metrics(scope = "op_rbuilder_flags")]
104+
pub struct FlagMetrics {
105+
/// Whether flashblocks.enabled is set or not
106+
pub flashblocks_enabled: Gauge,
107+
/// Whether flashtestations.enabled is set or not
108+
pub flashtestations_enabled: Gauge,
109+
/// Whether builder.enable-revert-protection is set or not
110+
pub enable_revert_protection: Gauge,
111+
}
112+
113+
impl FlagMetrics {
114+
/// Set gauge metrics for some flags so we can inspect which ones are set
115+
/// and which ones aren't.
116+
pub fn record_flags(builder_args: &OpRbuilderArgs) {
117+
let flag_metrics = Self::default();
118+
flag_metrics
119+
.flashblocks_enabled
120+
.set(builder_args.flashblocks.enabled as i32);
121+
flag_metrics
122+
.flashtestations_enabled
123+
.set(builder_args.flashtestations.flashtestations_enabled as i32);
124+
flag_metrics
125+
.enable_revert_protection
126+
.set(builder_args.enable_revert_protection as i32);
127+
}
128+
}
129+
99130
/// Contains version information for the application.
100131
#[derive(Debug, Clone)]
101132
pub struct VersionInfo {

0 commit comments

Comments
 (0)