@@ -238,70 +238,37 @@ type Tracer = opentelemetry_sdk::trace::Tracer;
238
238
type Tracer = ( ) ;
239
239
240
240
/// 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 ;
243
245
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
+ } ;
249
251
250
- let _guard = handle. enter ( ) ;
252
+ let _guard = handle. enter ( ) ;
253
+
254
+ use crate :: cli:: log:: { telemetry, telemetry_default_tracer} ;
251
255
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 = {
279
256
use opentelemetry:: global;
280
257
use opentelemetry_sdk:: propagation:: TraceContextPropagator ;
281
- use tracing_subscriber:: { EnvFilter , Layer } ;
258
+ use tracing_subscriber:: { layer :: SubscriberExt as _ , Registry } ;
282
259
283
260
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
+ }
305
272
} ) ;
306
273
307
274
pub fn before_test ( ) {
0 commit comments