@@ -238,70 +238,37 @@ type Tracer = opentelemetry_sdk::trace::Tracer;
238238type Tracer = ( ) ;
239239
240240/// A tracer for the tests.
241- static TRACER : Lazy < Tracer > = Lazy :: new ( || {
242- use tokio:: runtime:: Handle ;
241+ pub ( crate ) static TRACER : Lazy < Tracer > = Lazy :: new ( || {
242+ #[ cfg( feature = "otel" ) ]
243+ {
244+ use tokio:: runtime:: Handle ;
243245
244- // Use the current runtime, or the sync test runtime otherwise.
245- let handle = match Handle :: try_current ( ) {
246- Ok ( handle) => handle,
247- Err ( _) => TRACE_RUNTIME . handle ( ) . clone ( ) ,
248- } ;
246+ // Use the current runtime, or the sync test runtime otherwise.
247+ let handle = match Handle :: try_current ( ) {
248+ Ok ( handle) => handle,
249+ Err ( _) => TRACE_RUNTIME . handle ( ) . clone ( ) ,
250+ } ;
249251
250- let _guard = handle. enter ( ) ;
252+ let _guard = handle. enter ( ) ;
253+
254+ use crate :: cli:: log:: { telemetry, telemetry_default_tracer} ;
251255
252- #[ cfg( feature = "otel" ) ]
253- let tracer = {
254- use std:: time:: Duration ;
255-
256- use opentelemetry:: KeyValue ;
257- use opentelemetry_otlp:: WithExportConfig ;
258- use opentelemetry_sdk:: {
259- trace:: { self , Sampler } ,
260- Resource ,
261- } ;
262- opentelemetry_otlp:: new_pipeline ( )
263- . tracing ( )
264- . with_exporter (
265- opentelemetry_otlp:: new_exporter ( )
266- . tonic ( )
267- . with_timeout ( Duration :: from_secs ( 3 ) ) ,
268- )
269- . with_trace_config (
270- trace:: config ( )
271- . with_sampler ( Sampler :: AlwaysOn )
272- . with_resource ( Resource :: new ( vec ! [ KeyValue :: new( "service.name" , "rustup" ) ] ) ) ,
273- )
274- . install_batch ( opentelemetry_sdk:: runtime:: Tokio )
275- . unwrap ( )
276- } ;
277- #[ cfg( feature = "otel" ) ]
278- let telemetry = {
279256 use opentelemetry:: global;
280257 use opentelemetry_sdk:: propagation:: TraceContextPropagator ;
281- use tracing_subscriber:: { EnvFilter , Layer } ;
258+ use tracing_subscriber:: { layer :: SubscriberExt as _ , Registry } ;
282259
283260 global:: set_text_map_propagator ( TraceContextPropagator :: new ( ) ) ;
284-
285- let env_filter = EnvFilter :: try_from_default_env ( ) . unwrap_or ( EnvFilter :: new ( "INFO" ) ) ;
286- tracing_opentelemetry:: layer ( )
287- . with_tracer ( tracer. clone ( ) )
288- . with_filter ( env_filter)
289- } ;
290- let subscriber = {
291- use tracing_subscriber:: Registry ;
292- #[ cfg( feature = "otel" ) ]
293- {
294- use tracing_subscriber:: layer:: SubscriberExt ;
295- Registry :: default ( ) . with ( telemetry)
296- }
297- #[ cfg( not( feature = "otel" ) ) ]
298- {
299- Registry :: default ( )
300- }
301- } ;
302- tracing:: subscriber:: set_global_default ( subscriber) . unwrap ( ) ;
303- #[ cfg( feature = "otel" ) ]
304- tracer
261+ let tracer = telemetry_default_tracer ( ) . unwrap ( ) ;
262+ let telemetry = telemetry ( tracer. clone ( ) ) ;
263+ let subscriber = Registry :: default ( ) . with ( telemetry) ;
264+ tracing:: subscriber:: set_global_default ( subscriber) . unwrap ( ) ;
265+ tracer
266+ }
267+ #[ cfg( not( feature = "otel" ) ) ]
268+ {
269+ let subscriber = Registry :: default ( ) ;
270+ tracing:: subscriber:: set_global_default ( subscriber) . unwrap ( ) ;
271+ }
305272} ) ;
306273
307274pub fn before_test ( ) {
0 commit comments