File tree Expand file tree Collapse file tree
quickwit-telemetry-exporters/src Expand file tree Collapse file tree Original file line number Diff line number Diff 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 }
Original file line number Diff line number Diff line change @@ -41,7 +41,6 @@ pub fn do_nothing_env_filter_reload_fn() -> EnvFilterReloadFn {
4141 Arc :: new ( |_| Ok ( ( ) ) )
4242}
4343
44- #[ derive( Default ) ]
4544pub 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+ }
You can’t perform that action at this time.
0 commit comments