@@ -360,6 +360,7 @@ def test_returns_false_when_not_sampled(self, mocker):
360360 mock_drift = mocker .patch ("drift.core.drift_sdk.TuskDrift" )
361361 mock_sdk = mocker .MagicMock ()
362362 mock_sdk .should_record_root_request .return_value .should_record = False
363+ mock_sdk .should_record_root_request .return_value .reason = "not_sampled"
363364 mock_drift .get_instance .return_value = mock_sdk
364365
365366 result , reason = should_record_inbound_http_request (
@@ -373,6 +374,25 @@ def test_returns_false_when_not_sampled(self, mocker):
373374 assert result is False
374375 assert reason == "not_sampled"
375376
377+ def test_returns_controller_reason_when_adaptive_sampling_skips (self , mocker ):
378+ """Should preserve adaptive controller reasons for debug logging."""
379+ mock_drift = mocker .patch ("drift.core.drift_sdk.TuskDrift" )
380+ mock_sdk = mocker .MagicMock ()
381+ mock_sdk .should_record_root_request .return_value .should_record = False
382+ mock_sdk .should_record_root_request .return_value .reason = "critical_pause"
383+ mock_drift .get_instance .return_value = mock_sdk
384+
385+ result , reason = should_record_inbound_http_request (
386+ method = "GET" ,
387+ target = "/api/users" ,
388+ headers = {},
389+ transform_engine = None ,
390+ is_pre_app_start = False ,
391+ )
392+
393+ assert result is False
394+ assert reason == "critical_pause"
395+
376396 def test_drop_check_happens_before_sampling (self , mocker ):
377397 """Should check drop rules before sampling."""
378398 mock_transform = mocker .MagicMock ()
0 commit comments