Skip to content

Commit a74e82b

Browse files
authored
Tweak sdk tests so they run faster (#3513)
1 parent 2a8d4ed commit a74e82b

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

opentelemetry-sdk/tests/trace/export/test_export.py

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
OTEL_BSP_MAX_QUEUE_SIZE,
3434
OTEL_BSP_SCHEDULE_DELAY,
3535
)
36+
from opentelemetry.sdk.resources import Resource
3637
from opentelemetry.sdk.trace import export
3738
from opentelemetry.sdk.trace.export import logger
3839
from opentelemetry.sdk.trace.export.in_memory_span_exporter import (
@@ -151,7 +152,7 @@ def test_simple_span_processor_not_sampled(self):
151152
self.assertListEqual([], spans_names_list)
152153

153154

154-
def _create_start_and_end_span(name, span_processor):
155+
def _create_start_and_end_span(name, span_processor, resource):
155156
span = trace._Span(
156157
name,
157158
trace_api.SpanContext(
@@ -161,6 +162,7 @@ def _create_start_and_end_span(name, span_processor):
161162
trace_flags=trace_api.TraceFlags(trace_api.TraceFlags.SAMPLED),
162163
),
163164
span_processor=span_processor,
165+
resource=resource,
164166
)
165167
span.start()
166168
span.end()
@@ -245,8 +247,9 @@ def test_shutdown(self):
245247

246248
span_names = ["xxx", "bar", "foo"]
247249

250+
resource = Resource.create({})
248251
for name in span_names:
249-
_create_start_and_end_span(name, span_processor)
252+
_create_start_and_end_span(name, span_processor, resource)
250253

251254
span_processor.shutdown()
252255
self.assertTrue(my_exporter.is_shutdown)
@@ -264,15 +267,16 @@ def test_flush(self):
264267
span_names0 = ["xxx", "bar", "foo"]
265268
span_names1 = ["yyy", "baz", "fox"]
266269

270+
resource = Resource.create({})
267271
for name in span_names0:
268-
_create_start_and_end_span(name, span_processor)
272+
_create_start_and_end_span(name, span_processor, resource)
269273

270274
self.assertTrue(span_processor.force_flush())
271275
self.assertListEqual(span_names0, spans_names_list)
272276

273277
# create some more spans to check that span processor still works
274278
for name in span_names1:
275-
_create_start_and_end_span(name, span_processor)
279+
_create_start_and_end_span(name, span_processor, resource)
276280

277281
self.assertTrue(span_processor.force_flush())
278282
self.assertListEqual(span_names0 + span_names1, spans_names_list)
@@ -298,10 +302,12 @@ def test_flush_from_multiple_threads(self):
298302
my_exporter, max_queue_size=512, max_export_batch_size=128
299303
)
300304

305+
resource = Resource.create({})
306+
301307
def create_spans_and_flush(tno: int):
302308
for span_idx in range(num_spans):
303309
_create_start_and_end_span(
304-
f"Span {tno}-{span_idx}", span_processor
310+
f"Span {tno}-{span_idx}", span_processor, resource
305311
)
306312
self.assertTrue(span_processor.force_flush())
307313

@@ -323,7 +329,8 @@ def test_flush_timeout(self):
323329
)
324330
span_processor = export.BatchSpanProcessor(my_exporter)
325331

326-
_create_start_and_end_span("foo", span_processor)
332+
resource = Resource.create({})
333+
_create_start_and_end_span("foo", span_processor, resource)
327334

328335
# check that the timeout is not meet
329336
with self.assertLogs(level=WARNING):
@@ -341,8 +348,9 @@ def test_batch_span_processor_lossless(self):
341348
my_exporter, max_queue_size=512, max_export_batch_size=128
342349
)
343350

351+
resource = Resource.create({})
344352
for _ in range(512):
345-
_create_start_and_end_span("foo", span_processor)
353+
_create_start_and_end_span("foo", span_processor, resource)
346354

347355
time.sleep(1)
348356
self.assertTrue(span_processor.force_flush())
@@ -363,9 +371,10 @@ def test_batch_span_processor_many_spans(self):
363371
schedule_delay_millis=100,
364372
)
365373

374+
resource = Resource.create({})
366375
for _ in range(4):
367376
for _ in range(256):
368-
_create_start_and_end_span("foo", span_processor)
377+
_create_start_and_end_span("foo", span_processor, resource)
369378

370379
time.sleep(0.1) # give some time for the exporter to upload spans
371380

@@ -467,7 +476,8 @@ def test_batch_span_processor_scheduled_delay(self):
467476
)
468477

469478
# 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)
471481

472482
self.assertTrue(export_event.wait(2))
473483
export_time = time.time()
@@ -497,7 +507,8 @@ def test_batch_span_processor_reset_timeout(self):
497507
)
498508

499509
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)
501512
self.assertTrue(export_event.wait(2))
502513

503514
# give some time for exporter to loop

0 commit comments

Comments
 (0)