mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-08-05 12:33:15 +00:00
feat(sequencer): add possibility to disable metrics
This commit is contained in:
parent
8bbce62290
commit
cd835bd0c9
@ -66,7 +66,7 @@ pub struct SequencerConfig {
|
||||
pub cross_zone: Option<CrossZoneConfig>,
|
||||
/// Address the Prometheus metrics exporter binds to.
|
||||
#[serde(default = "default_metrics_address")]
|
||||
pub metrics_address: SocketAddr,
|
||||
pub metrics_address: Option<SocketAddr>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Serialize, Deserialize)]
|
||||
@ -97,6 +97,7 @@ const fn default_max_block_size() -> ByteSize {
|
||||
ByteSize::mib(1)
|
||||
}
|
||||
|
||||
const fn default_metrics_address() -> SocketAddr {
|
||||
SequencerConfig::DEFAULT_METRICS_ADDRESS
|
||||
#[expect(clippy::unnecessary_wraps, reason = "Required by serde")]
|
||||
const fn default_metrics_address() -> Option<SocketAddr> {
|
||||
Some(SequencerConfig::DEFAULT_METRICS_ADDRESS)
|
||||
}
|
||||
|
||||
@ -90,7 +90,7 @@ fn setup_sequencer_config() -> SequencerConfig {
|
||||
retry_pending_blocks_timeout: Duration::from_mins(4),
|
||||
genesis: vec![],
|
||||
cross_zone: None,
|
||||
metrics_address: SequencerConfig::DEFAULT_METRICS_ADDRESS,
|
||||
metrics_address: None,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -39,27 +39,18 @@ struct Args {
|
||||
async fn main() -> Result<()> {
|
||||
env_logger::init();
|
||||
|
||||
let Args {
|
||||
config_path,
|
||||
port,
|
||||
listen_address,
|
||||
home,
|
||||
metrics_address,
|
||||
} = Args::parse();
|
||||
let args = Args::parse();
|
||||
|
||||
let cancellation_token = listen_for_shutdown_signal();
|
||||
|
||||
let mut config = sequencer_service::SequencerConfig::from_path(&config_path)?;
|
||||
if let Some(home) = home {
|
||||
config.home = home;
|
||||
}
|
||||
if let Some(metrics_address) = metrics_address {
|
||||
config.metrics_address = metrics_address;
|
||||
}
|
||||
let mut config = sequencer_service::SequencerConfig::from_path(&args.config_path)?;
|
||||
apply_config_overrides(&args, &mut config);
|
||||
|
||||
install_prometheus_recorder(config.metrics_address)?;
|
||||
if let Some(metrics_address) = config.metrics_address {
|
||||
install_prometheus_recorder(metrics_address)?;
|
||||
}
|
||||
let mut sequencer_handle =
|
||||
sequencer_service::run(config, SocketAddr::new(listen_address, port)).await?;
|
||||
sequencer_service::run(config, SocketAddr::new(args.listen_address, args.port)).await?;
|
||||
|
||||
tokio::select! {
|
||||
() = cancellation_token.cancelled() => {
|
||||
@ -82,6 +73,23 @@ async fn main() -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn apply_config_overrides(args: &Args, config: &mut sequencer_service::SequencerConfig) {
|
||||
let Args {
|
||||
home,
|
||||
metrics_address,
|
||||
config_path: _,
|
||||
port: _,
|
||||
listen_address: _,
|
||||
} = args;
|
||||
|
||||
if let Some(home) = home {
|
||||
config.home.clone_from(home);
|
||||
}
|
||||
if let Some(metrics_address) = metrics_address {
|
||||
config.metrics_address = Some(*metrics_address);
|
||||
}
|
||||
}
|
||||
|
||||
/// Installs the recorder on `metrics_address`.
|
||||
fn install_prometheus_recorder(metrics_address: SocketAddr) -> Result<()> {
|
||||
/// Ladder for `*_seconds` histograms, densest across the 1–100 ms band where
|
||||
|
||||
@ -110,7 +110,7 @@ pub fn sequencer_config(
|
||||
auth: None,
|
||||
},
|
||||
cross_zone,
|
||||
metrics_address: SequencerConfig::DEFAULT_METRICS_ADDRESS,
|
||||
metrics_address: Some(SequencerConfig::DEFAULT_METRICS_ADDRESS),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user