@@ -6,8 +6,9 @@ use opentelemetry::trace::{
66} ;
77use opentelemetry:: { global, KeyValue } ;
88use opentelemetry_http:: HeaderInjector ;
9+ use opentelemetry_sdk:: propagation:: TraceContextPropagator ;
910use opentelemetry_sdk:: trace:: { Tracer , TracerProvider } ;
10- use opentelemetry_sdk:: { propagation :: TraceContextPropagator , Resource } ;
11+ use opentelemetry_sdk:: { runtime , Resource } ;
1112use reqwest:: { Client , Method , Url } ;
1213use salvo:: otel:: { Metrics , Tracing } ;
1314use salvo:: prelude:: * ;
@@ -17,14 +18,18 @@ use exporter::Exporter;
1718
1819fn init_tracer_provider ( ) -> TracerProvider {
1920 global:: set_text_map_propagator ( TraceContextPropagator :: new ( ) ) ;
20- opentelemetry_otlp:: new_pipeline ( )
21- . tracing ( )
22- . with_trace_config ( opentelemetry_sdk:: trace:: Config :: default ( ) . with_resource (
23- Resource :: new ( vec ! [ KeyValue :: new( "service.name" , "server1" ) ] ) ,
24- ) )
25- . with_exporter ( opentelemetry_otlp:: new_exporter ( ) . tonic ( ) )
26- . install_batch ( opentelemetry_sdk:: runtime:: Tokio )
27- . unwrap ( )
21+ let exporter = opentelemetry_otlp:: SpanExporter :: builder ( )
22+ . with_tonic ( )
23+ . build ( )
24+ . expect ( "failed to create exporter" ) ;
25+ TracerProvider :: builder ( )
26+ . with_batch_exporter ( exporter, runtime:: Tokio )
27+ . with_config (
28+ opentelemetry_sdk:: trace:: Config :: default ( ) . with_resource ( Resource :: new ( vec ! [
29+ KeyValue :: new( "service.name" , "server1" ) ,
30+ ] ) ) ,
31+ )
32+ . build ( )
2833}
2934
3035#[ handler]
0 commit comments