@@ -25,7 +25,55 @@ def test_setup_instrumentation_instruments_django():
2525 ):
2626 setup_instrumentation (config )
2727
28- mock_inst .instrument .assert_called_once ()
28+ mock_inst .instrument .assert_called_once_with (is_sql_commentor_enabled = True )
29+
30+
31+ def test_setup_instrumentation_sql_commenter_enabled_by_default ():
32+ """SQL commenter is on by default so queries carry trace context."""
33+ from django_o11y .tracing .instrumentation import setup_instrumentation
34+
35+ config = {"SERVICE_NAME" : "test" , "TRACING" : {}}
36+
37+ mock_inst = MagicMock ()
38+ mock_django_module = MagicMock ()
39+ mock_django_module .DjangoInstrumentor .return_value = mock_inst
40+
41+ with (
42+ patch .dict (
43+ "sys.modules" , {"opentelemetry.instrumentation.django" : mock_django_module }
44+ ),
45+ patch ("django_o11y.tracing.instrumentation._instrument_database" ),
46+ patch ("django_o11y.tracing.instrumentation._instrument_cache" ),
47+ patch ("django_o11y.tracing.instrumentation._instrument_celery" ),
48+ patch ("django_o11y.tracing.instrumentation._instrument_http_clients" ),
49+ ):
50+ setup_instrumentation (config )
51+
52+ mock_inst .instrument .assert_called_once_with (is_sql_commentor_enabled = True )
53+
54+
55+ def test_setup_instrumentation_sql_commenter_can_be_disabled ():
56+ """SQL commenter can be turned off via TRACING.SQL_COMMENTER=False."""
57+ from django_o11y .tracing .instrumentation import setup_instrumentation
58+
59+ config = {"SERVICE_NAME" : "test" , "TRACING" : {"SQL_COMMENTER" : False }}
60+
61+ mock_inst = MagicMock ()
62+ mock_django_module = MagicMock ()
63+ mock_django_module .DjangoInstrumentor .return_value = mock_inst
64+
65+ with (
66+ patch .dict (
67+ "sys.modules" , {"opentelemetry.instrumentation.django" : mock_django_module }
68+ ),
69+ patch ("django_o11y.tracing.instrumentation._instrument_database" ),
70+ patch ("django_o11y.tracing.instrumentation._instrument_cache" ),
71+ patch ("django_o11y.tracing.instrumentation._instrument_celery" ),
72+ patch ("django_o11y.tracing.instrumentation._instrument_http_clients" ),
73+ ):
74+ setup_instrumentation (config )
75+
76+ mock_inst .instrument .assert_called_once_with (is_sql_commentor_enabled = False )
2977
3078
3179def test_instrument_cache_redis ():
0 commit comments