@@ -362,24 +362,21 @@ def test_customize_span_exporter_with_agent_observability(self):
362362 def test_customize_span_processors_with_agent_observability (self ):
363363 mock_tracer_provider : TracerProvider = MagicMock ()
364364
365- # Test that BaggageSpanProcessor is not added when agent observability is disabled
366365 os .environ .pop ("AGENT_OBSERVABILITY_ENABLED" , None )
367366 _customize_span_processors (mock_tracer_provider , Resource .get_empty ())
368367 self .assertEqual (mock_tracer_provider .add_span_processor .call_count , 0 )
369368
370- # Reset mock for next test
371369 mock_tracer_provider .reset_mock ()
372370
373- # Test that BaggageSpanProcessor is added when agent observability is enabled
374371 os .environ ["AGENT_OBSERVABILITY_ENABLED" ] = "true"
375372 _customize_span_processors (mock_tracer_provider , Resource .get_empty ())
376- self .assertEqual (mock_tracer_provider .add_span_processor .call_count , 1 )
373+ self .assertEqual (mock_tracer_provider .add_span_processor .call_count , 2 )
377374
378- # Verify the added processor is BaggageSpanProcessor
379- added_processor = mock_tracer_provider .add_span_processor .call_args_list [0 ].args [0 ]
380- self .assertIsInstance (added_processor , BaggageSpanProcessor )
375+ first_processor = mock_tracer_provider .add_span_processor .call_args_list [0 ].args [0 ]
376+ self .assertIsInstance (first_processor , BatchUnsampledSpanProcessor )
377+ second_processor = mock_tracer_provider .add_span_processor .call_args_list [1 ].args [0 ]
378+ self .assertIsInstance (second_processor , BaggageSpanProcessor )
381379
382- # Clean up
383380 os .environ .pop ("AGENT_OBSERVABILITY_ENABLED" , None )
384381
385382 def test_baggage_span_processor_session_id_filtering (self ):
@@ -660,18 +657,15 @@ def capture_exporter(*args, **kwargs):
660657
661658 def test_customize_span_processors (self ):
662659 mock_tracer_provider : TracerProvider = MagicMock ()
663- # Clean up environment to ensure consistent test state
664660 os .environ .pop ("AGENT_OBSERVABILITY_ENABLED" , None )
665661 os .environ .pop ("OTEL_AWS_APPLICATION_SIGNALS_ENABLED" , None )
666662 os .environ .pop ("OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED" , None )
667663
668664 _customize_span_processors (mock_tracer_provider , Resource .get_empty ())
669665 self .assertEqual (mock_tracer_provider .add_span_processor .call_count , 0 )
670666
671- # Reset mock for next test
672667 mock_tracer_provider .reset_mock ()
673668
674- # Test application signals only
675669 os .environ .setdefault ("OTEL_AWS_APPLICATION_SIGNALS_ENABLED" , "True" )
676670 os .environ .setdefault ("OTEL_AWS_APPLICATION_SIGNALS_RUNTIME_ENABLED" , "False" )
677671 _customize_span_processors (mock_tracer_provider , Resource .get_empty ())
@@ -681,19 +675,17 @@ def test_customize_span_processors(self):
681675 second_processor : SpanProcessor = mock_tracer_provider .add_span_processor .call_args_list [1 ].args [0 ]
682676 self .assertIsInstance (second_processor , AwsSpanMetricsProcessor )
683677
684- # Reset mock for next test
685678 mock_tracer_provider .reset_mock ()
686679
687- # Test both agent observability and application signals enabled
688680 os .environ .setdefault ("AGENT_OBSERVABILITY_ENABLED" , "true" )
689681 _customize_span_processors (mock_tracer_provider , Resource .get_empty ())
690- self .assertEqual (mock_tracer_provider .add_span_processor .call_count , 3 )
682+ self .assertEqual (mock_tracer_provider .add_span_processor .call_count , 4 )
691683
692- # Verify processors are added in the expected order
693684 processors = [call .args [0 ] for call in mock_tracer_provider .add_span_processor .call_args_list ]
694- self .assertIsInstance (processors [0 ], BaggageSpanProcessor ) # Agent observability processor added first
695- self .assertIsInstance (processors [1 ], AttributePropagatingSpanProcessor ) # Application signals processors
696- self .assertIsInstance (processors [2 ], AwsSpanMetricsProcessor )
685+ self .assertIsInstance (processors [0 ], BatchUnsampledSpanProcessor )
686+ self .assertIsInstance (processors [1 ], BaggageSpanProcessor )
687+ self .assertIsInstance (processors [2 ], AttributePropagatingSpanProcessor )
688+ self .assertIsInstance (processors [3 ], AwsSpanMetricsProcessor )
697689
698690 def test_customize_span_processors_lambda (self ):
699691 mock_tracer_provider : TracerProvider = MagicMock ()
@@ -800,19 +792,18 @@ def test_export_unsampled_span_for_lambda(self):
800792 def test_export_unsampled_span_for_agent_observability (self ):
801793 mock_tracer_provider : TracerProvider = MagicMock ()
802794
803- # Test when agent observability is disabled (default)
804795 _export_unsampled_span_for_agent_observability (mock_tracer_provider , Resource .get_empty ())
805796 self .assertEqual (mock_tracer_provider .add_span_processor .call_count , 0 )
806797
807- # Test when agent observability is enabled with AWS endpoint (the default case)
798+ mock_tracer_provider .reset_mock ()
799+
808800 os .environ ["AGENT_OBSERVABILITY_ENABLED" ] = "true"
809801 os .environ ["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT" ] = "https://xray.us-east-1.amazonaws.com/v1/traces"
810802 _export_unsampled_span_for_agent_observability (mock_tracer_provider , Resource .get_empty ())
811803 self .assertEqual (mock_tracer_provider .add_span_processor .call_count , 1 )
812804 processor : SpanProcessor = mock_tracer_provider .add_span_processor .call_args_list [0 ].args [0 ]
813805 self .assertIsInstance (processor , BatchUnsampledSpanProcessor )
814806
815- # Clean up
816807 os .environ .pop ("AGENT_OBSERVABILITY_ENABLED" , None )
817808 os .environ .pop ("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT" , None )
818809
0 commit comments