From 8596848989cff84d57f748e4352ef868fddf9bfe Mon Sep 17 00:00:00 2001 From: Shuhei Kitagawa Date: Tue, 19 May 2026 19:11:07 +0200 Subject: [PATCH] Initialize metrics with tokio-console --- quickwit/quickwit-cli/src/main.rs | 4 +++- quickwit/quickwit-telemetry-exporters/src/lib.rs | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/quickwit/quickwit-cli/src/main.rs b/quickwit/quickwit-cli/src/main.rs index 4a014873040..684b0efcd7b 100644 --- a/quickwit/quickwit-cli/src/main.rs +++ b/quickwit/quickwit-cli/src/main.rs @@ -91,9 +91,11 @@ fn init_telemetry( #[cfg(feature = "tokio-console")] { if quickwit_common::get_bool_from_env(QW_ENABLE_TOKIO_CONSOLE_ENV_KEY, false) { + let telemetry_handle = + quickwit_telemetry_exporters::init_meter_provider_only(service_version)?; console_subscriber::init(); return Ok(( - quickwit_telemetry_exporters::TelemetryHandle::default(), + telemetry_handle, quickwit_telemetry_exporters::do_nothing_env_filter_reload_fn(), )); } diff --git a/quickwit/quickwit-telemetry-exporters/src/lib.rs b/quickwit/quickwit-telemetry-exporters/src/lib.rs index 415a910c0da..3b8a93ead22 100644 --- a/quickwit/quickwit-telemetry-exporters/src/lib.rs +++ b/quickwit/quickwit-telemetry-exporters/src/lib.rs @@ -41,7 +41,6 @@ pub fn do_nothing_env_filter_reload_fn() -> EnvFilterReloadFn { Arc::new(|_| Ok(())) } -#[derive(Default)] pub struct TelemetryHandle { tracer_provider: Option, logger_provider: Option, @@ -170,3 +169,17 @@ pub fn init_telemetry( Ok(telemetry_handle) } + +/// Initializes only metrics providers for the process. +/// +/// This is useful when another component owns the tracing subscriber setup but +/// Quickwit still needs to install its metrics recorder. +pub fn init_meter_provider_only(service_version: &str) -> anyhow::Result { + let otlp_config = otlp::OtlpExporterConfig::load_from_env(); + let meter_provider = metrics::init_metrics_provider(service_version, &otlp_config)?; + Ok(TelemetryHandle { + tracer_provider: None, + logger_provider: None, + meter_provider, + }) +}