33
33
OTEL_BSP_MAX_QUEUE_SIZE ,
34
34
OTEL_BSP_SCHEDULE_DELAY ,
35
35
)
36
+ from opentelemetry .sdk .resources import Resource
36
37
from opentelemetry .sdk .trace import export
37
38
from opentelemetry .sdk .trace .export import logger
38
39
from opentelemetry .sdk .trace .export .in_memory_span_exporter import (
@@ -151,7 +152,7 @@ def test_simple_span_processor_not_sampled(self):
151
152
self .assertListEqual ([], spans_names_list )
152
153
153
154
154
- def _create_start_and_end_span (name , span_processor ):
155
+ def _create_start_and_end_span (name , span_processor , resource ):
155
156
span = trace ._Span (
156
157
name ,
157
158
trace_api .SpanContext (
@@ -161,6 +162,7 @@ def _create_start_and_end_span(name, span_processor):
161
162
trace_flags = trace_api .TraceFlags (trace_api .TraceFlags .SAMPLED ),
162
163
),
163
164
span_processor = span_processor ,
165
+ resource = resource ,
164
166
)
165
167
span .start ()
166
168
span .end ()
@@ -245,8 +247,9 @@ def test_shutdown(self):
245
247
246
248
span_names = ["xxx" , "bar" , "foo" ]
247
249
250
+ resource = Resource .create ({})
248
251
for name in span_names :
249
- _create_start_and_end_span (name , span_processor )
252
+ _create_start_and_end_span (name , span_processor , resource )
250
253
251
254
span_processor .shutdown ()
252
255
self .assertTrue (my_exporter .is_shutdown )
@@ -264,15 +267,16 @@ def test_flush(self):
264
267
span_names0 = ["xxx" , "bar" , "foo" ]
265
268
span_names1 = ["yyy" , "baz" , "fox" ]
266
269
270
+ resource = Resource .create ({})
267
271
for name in span_names0 :
268
- _create_start_and_end_span (name , span_processor )
272
+ _create_start_and_end_span (name , span_processor , resource )
269
273
270
274
self .assertTrue (span_processor .force_flush ())
271
275
self .assertListEqual (span_names0 , spans_names_list )
272
276
273
277
# create some more spans to check that span processor still works
274
278
for name in span_names1 :
275
- _create_start_and_end_span (name , span_processor )
279
+ _create_start_and_end_span (name , span_processor , resource )
276
280
277
281
self .assertTrue (span_processor .force_flush ())
278
282
self .assertListEqual (span_names0 + span_names1 , spans_names_list )
@@ -298,10 +302,12 @@ def test_flush_from_multiple_threads(self):
298
302
my_exporter , max_queue_size = 512 , max_export_batch_size = 128
299
303
)
300
304
305
+ resource = Resource .create ({})
306
+
301
307
def create_spans_and_flush (tno : int ):
302
308
for span_idx in range (num_spans ):
303
309
_create_start_and_end_span (
304
- f"Span { tno } -{ span_idx } " , span_processor
310
+ f"Span { tno } -{ span_idx } " , span_processor , resource
305
311
)
306
312
self .assertTrue (span_processor .force_flush ())
307
313
@@ -323,7 +329,8 @@ def test_flush_timeout(self):
323
329
)
324
330
span_processor = export .BatchSpanProcessor (my_exporter )
325
331
326
- _create_start_and_end_span ("foo" , span_processor )
332
+ resource = Resource .create ({})
333
+ _create_start_and_end_span ("foo" , span_processor , resource )
327
334
328
335
# check that the timeout is not meet
329
336
with self .assertLogs (level = WARNING ):
@@ -341,8 +348,9 @@ def test_batch_span_processor_lossless(self):
341
348
my_exporter , max_queue_size = 512 , max_export_batch_size = 128
342
349
)
343
350
351
+ resource = Resource .create ({})
344
352
for _ in range (512 ):
345
- _create_start_and_end_span ("foo" , span_processor )
353
+ _create_start_and_end_span ("foo" , span_processor , resource )
346
354
347
355
time .sleep (1 )
348
356
self .assertTrue (span_processor .force_flush ())
@@ -363,9 +371,10 @@ def test_batch_span_processor_many_spans(self):
363
371
schedule_delay_millis = 100 ,
364
372
)
365
373
374
+ resource = Resource .create ({})
366
375
for _ in range (4 ):
367
376
for _ in range (256 ):
368
- _create_start_and_end_span ("foo" , span_processor )
377
+ _create_start_and_end_span ("foo" , span_processor , resource )
369
378
370
379
time .sleep (0.1 ) # give some time for the exporter to upload spans
371
380
@@ -467,7 +476,8 @@ def test_batch_span_processor_scheduled_delay(self):
467
476
)
468
477
469
478
# create single span
470
- _create_start_and_end_span ("foo" , span_processor )
479
+ resource = Resource .create ({})
480
+ _create_start_and_end_span ("foo" , span_processor , resource )
471
481
472
482
self .assertTrue (export_event .wait (2 ))
473
483
export_time = time .time ()
@@ -497,7 +507,8 @@ def test_batch_span_processor_reset_timeout(self):
497
507
)
498
508
499
509
with mock .patch .object (span_processor .condition , "wait" ) as mock_wait :
500
- _create_start_and_end_span ("foo" , span_processor )
510
+ resource = Resource .create ({})
511
+ _create_start_and_end_span ("foo" , span_processor , resource )
501
512
self .assertTrue (export_event .wait (2 ))
502
513
503
514
# give some time for exporter to loop
0 commit comments