22use opentelemetry:: trace:: { TraceId , TracerProvider } ;
33use opentelemetry_sdk:: { runtime, trace as sdktrace, trace:: Config , Resource } ;
44use tracing_subscriber:: { prelude:: * , EnvFilter , Registry } ;
5+ use opentelemetry_otlp:: { SpanExporter , WithExportConfig } ;
56
67/// Fetch an opentelemetry::trace::TraceId as hex through the full tracing stack
78pub fn get_trace_id ( ) -> TraceId {
@@ -27,14 +28,12 @@ fn resource() -> Resource {
2728fn init_tracer ( ) -> sdktrace:: Tracer {
2829 use opentelemetry_otlp:: WithExportConfig ;
2930 let endpoint = std:: env:: var ( "OPENTELEMETRY_ENDPOINT_URL" ) . expect ( "Needs an otel collector" ) ;
30- let exporter = opentelemetry_otlp :: new_exporter ( ) . tonic ( ) . with_endpoint ( endpoint) ;
31+ let exporter = SpanExporter :: builder ( ) . with_tonic ( ) . with_endpoint ( endpoint) . build ( ) . unwrap ( ) ;
3132
32- let provider = opentelemetry_otlp:: new_pipeline ( )
33- . tracing ( )
34- . with_exporter ( exporter)
35- . with_trace_config ( Config :: default ( ) . with_resource ( resource ( ) ) )
36- . install_batch ( runtime:: Tokio )
37- . expect ( "valid tracer" ) ;
33+ let provider = sdktrace:: TracerProvider :: builder ( )
34+ . with_batch_exporter ( exporter, runtime:: Tokio )
35+ . with_config ( Config :: default ( ) . with_resource ( resource ( ) ) )
36+ . build ( ) ;
3837
3938 opentelemetry:: global:: set_tracer_provider ( provider. clone ( ) ) ;
4039 provider. tracer ( "tracing-otel-subscriber" )
0 commit comments