Skip to content

Commit dd8ad7e

Browse files
shuheiktgwMallets
andauthored
Initialize metrics with tokio-console (#6448)
Co-authored-by: Luca Cominardi <luca.cominardi@proton.me>
1 parent 9a9e2eb commit dd8ad7e

2 files changed

Lines changed: 17 additions & 2 deletions

File tree

  • quickwit

quickwit/quickwit-cli/src/main.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,11 @@ fn init_telemetry(
9393
#[cfg(feature = "tokio-console")]
9494
{
9595
if quickwit_common::get_bool_from_env(QW_ENABLE_TOKIO_CONSOLE_ENV_KEY, false) {
96+
let telemetry_handle =
97+
quickwit_telemetry_exporters::init_meter_provider_only(service_version)?;
9698
console_subscriber::init();
9799
return Ok((
98-
quickwit_telemetry_exporters::TelemetryHandle::default(),
100+
telemetry_handle,
99101
quickwit_telemetry_exporters::do_nothing_env_filter_reload_fn(),
100102
));
101103
}

quickwit/quickwit-telemetry-exporters/src/lib.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ pub fn do_nothing_env_filter_reload_fn() -> EnvFilterReloadFn {
4141
Arc::new(|_| Ok(()))
4242
}
4343

44-
#[derive(Default)]
4544
pub struct TelemetryHandle {
4645
tracer_provider: Option<SdkTracerProvider>,
4746
logger_provider: Option<SdkLoggerProvider>,
@@ -170,3 +169,17 @@ pub fn init_telemetry(
170169

171170
Ok(telemetry_handle)
172171
}
172+
173+
/// Initializes only metrics providers for the process.
174+
///
175+
/// This is useful when another component owns the tracing subscriber setup but
176+
/// Quickwit still needs to install its metrics recorder.
177+
pub fn init_meter_provider_only(service_version: &str) -> anyhow::Result<TelemetryHandle> {
178+
let otlp_config = otlp::OtlpExporterConfig::load_from_env();
179+
let meter_provider = metrics::init_metrics_provider(service_version, &otlp_config)?;
180+
Ok(TelemetryHandle {
181+
tracer_provider: None,
182+
logger_provider: None,
183+
meter_provider,
184+
})
185+
}

0 commit comments

Comments
 (0)