@@ -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,26 @@ 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 (span_id , trace_id , trace_sampled )
100
103
101
104
def test_trace_context_injection_without_span (self ):
102
- self .assert_trace_context_injected ("0" , "0" )
105
+ self .assert_trace_context_injected ("0" , "0" , False )
103
106
104
107
@mock .patch ("logging.basicConfig" )
105
108
def test_basic_config_called (self , basic_config_mock ):
@@ -163,6 +166,7 @@ def test_log_hook(self):
163
166
with self .tracer .start_as_current_span ("s1" ) as span :
164
167
span_id = format (span .get_span_context ().span_id , "016x" )
165
168
trace_id = format (span .get_span_context ().trace_id , "032x" )
169
+ trace_sampled = span .get_span_context ().trace_flags .sampled
166
170
with self .caplog .at_level (level = logging .INFO ):
167
171
logger = logging .getLogger ("test logger" )
168
172
logger .info ("hello" )
@@ -171,6 +175,7 @@ def test_log_hook(self):
171
175
self .assertEqual (record .otelSpanID , span_id )
172
176
self .assertEqual (record .otelTraceID , trace_id )
173
177
self .assertEqual (record .otelServiceName , "unknown_service" )
178
+ self .assertEqual (record .otelTraceSampled , trace_sampled )
174
179
self .assertEqual (
175
180
record .custom_user_attribute_from_log_hook , "some-value"
176
181
)
@@ -179,14 +184,16 @@ def test_uninstrumented(self):
179
184
with self .tracer .start_as_current_span ("s1" ) as span :
180
185
span_id = format (span .get_span_context ().span_id , "016x" )
181
186
trace_id = format (span .get_span_context ().trace_id , "032x" )
182
- self .assert_trace_context_injected (span_id , trace_id )
187
+ trace_sampled = span .get_span_context ().trace_flags .sampled
188
+ self .assert_trace_context_injected (span_id , trace_id , trace_sampled )
183
189
184
190
LoggingInstrumentor ().uninstrument ()
185
191
186
192
self .caplog .clear ()
187
193
with self .tracer .start_as_current_span ("s1" ) as span :
188
194
span_id = format (span .get_span_context ().span_id , "016x" )
189
195
trace_id = format (span .get_span_context ().trace_id , "032x" )
196
+ trace_sampled = span .get_span_context ().trace_flags .sampled
190
197
with self .caplog .at_level (level = logging .INFO ):
191
198
logger = logging .getLogger ("test logger" )
192
199
logger .info ("hello" )
@@ -195,3 +202,4 @@ def test_uninstrumented(self):
195
202
self .assertFalse (hasattr (record , "otelSpanID" ))
196
203
self .assertFalse (hasattr (record , "otelTraceID" ))
197
204
self .assertFalse (hasattr (record , "otelServiceName" ))
205
+ self .assertFalse (hasattr (record , "otelTraceSampled" ))
0 commit comments