@@ -62,6 +62,7 @@ def test_trace_context_injection(self):
62
62
self .assertEqual (record .otelSpanID , "0" )
63
63
self .assertEqual (record .otelTraceID , "0" )
64
64
self .assertEqual (record .otelServiceName , "" )
65
+ self .assertEqual (record .otelTraceSampled , False )
65
66
66
67
67
68
def log_hook (span , record ):
@@ -82,24 +83,28 @@ def tearDown(self):
82
83
super ().tearDown ()
83
84
LoggingInstrumentor ().uninstrument ()
84
85
85
- def assert_trace_context_injected (self , span_id , trace_id ):
86
+ def assert_trace_context_injected (self , span_id , trace_id , trace_sampled ):
86
87
with self .caplog .at_level (level = logging .INFO ):
87
88
logger = logging .getLogger ("test logger" )
88
89
logger .info ("hello" )
89
90
self .assertEqual (len (self .caplog .records ), 1 )
90
91
record = self .caplog .records [0 ]
91
92
self .assertEqual (record .otelSpanID , span_id )
92
93
self .assertEqual (record .otelTraceID , trace_id )
94
+ self .assertEqual (record .otelTraceSampled , trace_sampled )
93
95
self .assertEqual (record .otelServiceName , "unknown_service" )
94
96
95
97
def test_trace_context_injection (self ):
96
98
with self .tracer .start_as_current_span ("s1" ) as span :
97
99
span_id = format (span .get_span_context ().span_id , "016x" )
98
100
trace_id = format (span .get_span_context ().trace_id , "032x" )
99
- self .assert_trace_context_injected (span_id , trace_id )
101
+ trace_sampled = span .get_span_context ().trace_flags .sampled
102
+ self .assert_trace_context_injected (
103
+ span_id , trace_id , trace_sampled
104
+ )
100
105
101
106
def test_trace_context_injection_without_span (self ):
102
- self .assert_trace_context_injected ("0" , "0" )
107
+ self .assert_trace_context_injected ("0" , "0" , False )
103
108
104
109
@mock .patch ("logging.basicConfig" )
105
110
def test_basic_config_called (self , basic_config_mock ):
@@ -163,6 +168,7 @@ def test_log_hook(self):
163
168
with self .tracer .start_as_current_span ("s1" ) as span :
164
169
span_id = format (span .get_span_context ().span_id , "016x" )
165
170
trace_id = format (span .get_span_context ().trace_id , "032x" )
171
+ trace_sampled = span .get_span_context ().trace_flags .sampled
166
172
with self .caplog .at_level (level = logging .INFO ):
167
173
logger = logging .getLogger ("test logger" )
168
174
logger .info ("hello" )
@@ -171,6 +177,7 @@ def test_log_hook(self):
171
177
self .assertEqual (record .otelSpanID , span_id )
172
178
self .assertEqual (record .otelTraceID , trace_id )
173
179
self .assertEqual (record .otelServiceName , "unknown_service" )
180
+ self .assertEqual (record .otelTraceSampled , trace_sampled )
174
181
self .assertEqual (
175
182
record .custom_user_attribute_from_log_hook , "some-value"
176
183
)
@@ -179,14 +186,18 @@ def test_uninstrumented(self):
179
186
with self .tracer .start_as_current_span ("s1" ) as span :
180
187
span_id = format (span .get_span_context ().span_id , "016x" )
181
188
trace_id = format (span .get_span_context ().trace_id , "032x" )
182
- self .assert_trace_context_injected (span_id , trace_id )
189
+ trace_sampled = span .get_span_context ().trace_flags .sampled
190
+ self .assert_trace_context_injected (
191
+ span_id , trace_id , trace_sampled
192
+ )
183
193
184
194
LoggingInstrumentor ().uninstrument ()
185
195
186
196
self .caplog .clear ()
187
197
with self .tracer .start_as_current_span ("s1" ) as span :
188
198
span_id = format (span .get_span_context ().span_id , "016x" )
189
199
trace_id = format (span .get_span_context ().trace_id , "032x" )
200
+ trace_sampled = span .get_span_context ().trace_flags .sampled
190
201
with self .caplog .at_level (level = logging .INFO ):
191
202
logger = logging .getLogger ("test logger" )
192
203
logger .info ("hello" )
@@ -195,3 +206,4 @@ def test_uninstrumented(self):
195
206
self .assertFalse (hasattr (record , "otelSpanID" ))
196
207
self .assertFalse (hasattr (record , "otelTraceID" ))
197
208
self .assertFalse (hasattr (record , "otelServiceName" ))
209
+ self .assertFalse (hasattr (record , "otelTraceSampled" ))
0 commit comments