@@ -244,29 +244,6 @@ where
244244 // Visit fields.
245245 event. record ( & mut visitor) ;
246246
247- #[ cfg( feature = "experimental_use_tracing_span_context" ) ]
248- if let Some ( span) = _ctx. event_span ( event) {
249- use tracing_opentelemetry:: OtelData ;
250- if let Some ( otd) = span. extensions ( ) . get :: < OtelData > ( ) {
251- if let Some ( span_id) = otd. span_id ( ) {
252- // Try the trace_id of the current span first;
253- // If it is not already established (still in the Builder state), try finding the root span.
254- let opt_trace_id = otd. trace_id ( ) . or_else ( || {
255- span. scope ( ) . last ( ) . and_then ( |root_span| {
256- root_span
257- . extensions ( )
258- . get :: < OtelData > ( )
259- . and_then ( |root_otd| root_otd. trace_id ( ) )
260- } )
261- } ) ;
262- if let Some ( trace_id) = opt_trace_id {
263- // Unable to reliably obtain TraceFlags (old implementation also passed None)
264- log_record. set_trace_context ( trace_id, span_id, None ) ;
265- }
266- }
267- }
268- }
269-
270247 //emit record
271248 self . logger . emit ( log_record) ;
272249 }
@@ -611,121 +588,6 @@ mod tests {
611588 }
612589 }
613590
614- #[ cfg( feature = "experimental_use_tracing_span_context" ) ]
615- #[ test]
616- fn tracing_appender_inside_tracing_crate_context ( ) {
617- use opentelemetry:: { trace:: SpanContext , Context , SpanId , TraceId } ;
618- use opentelemetry_sdk:: trace:: InMemorySpanExporterBuilder ;
619- use tracing_opentelemetry:: OpenTelemetrySpanExt ;
620-
621- // Arrange
622- let exporter: InMemoryLogExporter = InMemoryLogExporter :: default ( ) ;
623- let logger_provider = SdkLoggerProvider :: builder ( )
624- . with_simple_exporter ( exporter. clone ( ) )
625- . build ( ) ;
626-
627- // setup tracing layer to compare trace/span IDs against
628- let span_exporter = InMemorySpanExporterBuilder :: new ( ) . build ( ) ;
629- let tracer_provider = SdkTracerProvider :: builder ( )
630- . with_simple_exporter ( span_exporter. clone ( ) )
631- . build ( ) ;
632- let tracer = tracer_provider. tracer ( "test-tracer" ) ;
633-
634- let level_filter = tracing_subscriber:: filter:: LevelFilter :: ERROR ;
635- let log_layer =
636- layer:: OpenTelemetryTracingBridge :: new ( & logger_provider) . with_filter ( level_filter) ;
637-
638- let subscriber = tracing_subscriber:: registry ( )
639- . with ( log_layer)
640- . with ( tracing_opentelemetry:: layer ( ) . with_tracer ( tracer) ) ;
641-
642- // Avoiding global subscriber.init() as that does not play well with unit tests.
643- let _guard = tracing:: subscriber:: set_default ( subscriber) ;
644-
645- // Act
646- tracing:: error_span!( "outer-span" ) . in_scope ( || {
647- error ! ( "first-event" ) ;
648-
649- tracing:: error_span!( "inner-span" ) . in_scope ( || {
650- error ! ( "second-event" ) ;
651- } ) ;
652- } ) ;
653-
654- assert ! ( logger_provider. force_flush( ) . is_ok( ) ) ;
655-
656- let logs = exporter. get_emitted_logs ( ) . expect ( "No emitted logs" ) ;
657- assert_eq ! ( logs. len( ) , 2 , "Expected 2 logs, got: {logs:?}" ) ;
658-
659- let spans = span_exporter. get_finished_spans ( ) . unwrap ( ) ;
660- assert_eq ! ( spans. len( ) , 2 ) ;
661-
662- let trace_id = spans[ 0 ] . span_context . trace_id ( ) ;
663- assert_eq ! ( trace_id, spans[ 1 ] . span_context. trace_id( ) ) ;
664- let inner_span_id = spans[ 0 ] . span_context . span_id ( ) ;
665- let outer_span_id = spans[ 1 ] . span_context . span_id ( ) ;
666- assert_eq ! ( outer_span_id, spans[ 0 ] . parent_span_id) ;
667-
668- let trace_ctx0 = logs[ 0 ] . record . trace_context ( ) . unwrap ( ) ;
669- let trace_ctx1 = logs[ 1 ] . record . trace_context ( ) . unwrap ( ) ;
670-
671- assert_eq ! ( trace_ctx0. trace_id, trace_id) ;
672- assert_eq ! ( trace_ctx1. trace_id, trace_id) ;
673- assert_eq ! ( trace_ctx0. span_id, outer_span_id) ;
674- assert_eq ! ( trace_ctx1. span_id, inner_span_id) ;
675-
676- // Set context from remote.
677- let remote_trace_id = TraceId :: from ( 233 ) ;
678- let remote_span_id = SpanId :: from ( 2333 ) ;
679- let remote_span_context = SpanContext :: new (
680- remote_trace_id,
681- remote_span_id,
682- TraceFlags :: SAMPLED ,
683- true ,
684- Default :: default ( ) ,
685- ) ;
686-
687- // Act again.
688- {
689- let parent_context = Context :: current ( ) . with_remote_span_context ( remote_span_context) ;
690- let outer_span = tracing:: error_span!( "outer-span" ) ;
691- let _ = outer_span. set_parent ( parent_context) ;
692-
693- outer_span. in_scope ( || {
694- error ! ( "first-event" ) ;
695-
696- let inner_span = tracing:: error_span!( "inner-span" ) ;
697- inner_span. in_scope ( || {
698- error ! ( "second-event" ) ;
699- } ) ;
700- } ) ;
701- }
702-
703- assert ! ( logger_provider. force_flush( ) . is_ok( ) ) ;
704-
705- let logs = exporter. get_emitted_logs ( ) . expect ( "No emitted logs" ) ;
706- assert_eq ! ( logs. len( ) , 4 , "Expected 4 logs, got: {logs:?}" ) ;
707- let logs = & logs[ 2 ..] ;
708-
709- let spans = span_exporter. get_finished_spans ( ) . unwrap ( ) ;
710- assert_eq ! ( spans. len( ) , 4 ) ;
711- let spans = & spans[ 2 ..] ;
712-
713- let trace_id = spans[ 0 ] . span_context . trace_id ( ) ;
714- assert_eq ! ( trace_id, remote_trace_id) ;
715- assert_eq ! ( trace_id, spans[ 1 ] . span_context. trace_id( ) ) ;
716- let inner_span_id = spans[ 0 ] . span_context . span_id ( ) ;
717- let outer_span_id = spans[ 1 ] . span_context . span_id ( ) ;
718- assert_eq ! ( outer_span_id, spans[ 0 ] . parent_span_id) ;
719-
720- let trace_ctx0 = logs[ 0 ] . record . trace_context ( ) . unwrap ( ) ;
721- let trace_ctx1 = logs[ 1 ] . record . trace_context ( ) . unwrap ( ) ;
722-
723- assert_eq ! ( trace_ctx0. trace_id, trace_id) ;
724- assert_eq ! ( trace_ctx1. trace_id, trace_id) ;
725- assert_eq ! ( trace_ctx0. span_id, outer_span_id) ;
726- assert_eq ! ( trace_ctx1. span_id, inner_span_id) ;
727- }
728-
729591 #[ test]
730592 fn tracing_appender_standalone_with_tracing_log ( ) {
731593 // Arrange
0 commit comments