@@ -32,17 +32,6 @@ pub fn configure<T>(config: &SubscriberConfig<T>) -> sdktrace::Tracer {
32
32
. as_ref ( )
33
33
. expect ( "Telemetry config must be provided when the `traces` feature is enabled." ) ;
34
34
35
- let runtime = {
36
- #[ cfg( feature = "rt-tokio-current-thread" ) ]
37
- {
38
- opentelemetry_sdk:: runtime:: TokioCurrentThread
39
- }
40
- #[ cfg( not( feature = "rt-tokio-current-thread" ) ) ]
41
- {
42
- opentelemetry_sdk:: runtime:: Tokio
43
- }
44
- } ;
45
-
46
35
let collector_url = normalize_collector_url ( & telemetry. collector_url ) ;
47
36
48
37
let otlp_exporter = SpanExporter :: builder ( )
@@ -51,14 +40,14 @@ pub fn configure<T>(config: &SubscriberConfig<T>) -> sdktrace::Tracer {
51
40
. build ( )
52
41
. expect ( "Failed to configure the OpenTelemetry OTLP span exporter" ) ;
53
42
54
- let resource = Resource :: new ( vec ! [
55
- KeyValue :: new ( "environment" , config . env . to_string ( ) ) ,
56
- KeyValue :: new( "country " , config. country . to_string( ) ) ,
57
- KeyValue :: new( "service.name " , telemetry . service_name . clone ( ) ) ,
58
- ] ) ;
43
+ let resource = Resource :: builder ( )
44
+ . with_service_name ( telemetry . service_name . clone ( ) )
45
+ . with_attribute ( KeyValue :: new ( "environment " , config. env . to_string ( ) ) )
46
+ . with_attribute ( KeyValue :: new ( "country " , config . country . to_string ( ) ) )
47
+ . build ( ) ;
59
48
60
- let tracer_provider = sdktrace:: TracerProvider :: builder ( )
61
- . with_batch_exporter ( otlp_exporter, runtime )
49
+ let tracer_provider = sdktrace:: SdkTracerProvider :: builder ( )
50
+ . with_batch_exporter ( otlp_exporter)
62
51
. with_resource ( resource)
63
52
. build ( ) ;
64
53
@@ -72,9 +61,10 @@ pub fn configure<T>(config: &SubscriberConfig<T>) -> sdktrace::Tracer {
72
61
}
73
62
74
63
// Consider to remove this wrapper when https://github.com/open-telemetry/opentelemetry-rust/issues/1961 is resolved
75
- static TRACER_PROVIDER : Lazy < Mutex < Option < sdktrace:: TracerProvider > > > = Lazy :: new ( Default :: default) ;
64
+ static TRACER_PROVIDER : Lazy < Mutex < Option < sdktrace:: SdkTracerProvider > > > =
65
+ Lazy :: new ( Default :: default) ;
76
66
77
- fn set_tracer_provider ( new_provider : sdktrace:: TracerProvider ) {
67
+ fn set_tracer_provider ( new_provider : sdktrace:: SdkTracerProvider ) {
78
68
global:: set_tracer_provider ( new_provider. clone ( ) ) ;
79
69
80
70
let mut tracer_provider = TRACER_PROVIDER
@@ -84,8 +74,6 @@ fn set_tracer_provider(new_provider: sdktrace::TracerProvider) {
84
74
}
85
75
86
76
pub ( crate ) fn shutdown_tracer_provider ( ) {
87
- global:: shutdown_tracer_provider ( ) ;
88
-
89
77
let tracer_provider = TRACER_PROVIDER
90
78
. lock ( )
91
79
. expect ( "OpenTelemetry tracer provider mutex poisoned" )
0 commit comments