From 2c7889ef16f331f471ed7fd7290f2354618e4b19 Mon Sep 17 00:00:00 2001 From: Holly Cummins Date: Wed, 29 Jan 2025 16:16:55 +0000 Subject: [PATCH] Allow for asynchronousness in span processing --- .../reactive/OpenTelemetryReactiveTest.java | 1 - .../reactive/OpenTelemetryWithSpanAtStartupTest.java | 10 ++++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/integration-tests/opentelemetry-reactive/src/test/java/io/quarkus/it/opentelemetry/reactive/OpenTelemetryReactiveTest.java b/integration-tests/opentelemetry-reactive/src/test/java/io/quarkus/it/opentelemetry/reactive/OpenTelemetryReactiveTest.java index 794a5ab49ad3a..fb7131bf121a6 100644 --- a/integration-tests/opentelemetry-reactive/src/test/java/io/quarkus/it/opentelemetry/reactive/OpenTelemetryReactiveTest.java +++ b/integration-tests/opentelemetry-reactive/src/test/java/io/quarkus/it/opentelemetry/reactive/OpenTelemetryReactiveTest.java @@ -12,7 +12,6 @@ import static io.quarkus.it.opentelemetry.reactive.Utils.getSpans; import static io.quarkus.it.opentelemetry.reactive.Utils.getSpansByKindAndParentId; import static io.restassured.RestAssured.given; -import static io.restassured.RestAssured.when; import static java.net.HttpURLConnection.HTTP_OK; import static java.util.concurrent.TimeUnit.SECONDS; import static java.util.stream.Collectors.toSet; diff --git a/integration-tests/opentelemetry-reactive/src/test/java/io/quarkus/it/opentelemetry/reactive/OpenTelemetryWithSpanAtStartupTest.java b/integration-tests/opentelemetry-reactive/src/test/java/io/quarkus/it/opentelemetry/reactive/OpenTelemetryWithSpanAtStartupTest.java index b6fa9159bc6f8..d116b4a32cab7 100644 --- a/integration-tests/opentelemetry-reactive/src/test/java/io/quarkus/it/opentelemetry/reactive/OpenTelemetryWithSpanAtStartupTest.java +++ b/integration-tests/opentelemetry-reactive/src/test/java/io/quarkus/it/opentelemetry/reactive/OpenTelemetryWithSpanAtStartupTest.java @@ -5,9 +5,11 @@ import static io.opentelemetry.api.trace.SpanKind.INTERNAL; import static io.quarkus.it.opentelemetry.reactive.Utils.getSpanByKindAndParentId; import static io.quarkus.it.opentelemetry.reactive.Utils.getSpans; +import static org.awaitility.Awaitility.await; import static org.junit.jupiter.api.Assertions.assertEquals; import java.net.URI; +import java.time.Duration; import java.util.List; import java.util.Map; @@ -38,6 +40,14 @@ public class OpenTelemetryWithSpanAtStartupTest { @Test void testGeneratedSpansUsingRestClientReactive() { + + // There's a bit of asynchronousness in recording and exporting the spans, so to avoid issues, give the startup spans a (small) moment to arrive + await().atMost(Duration.ofSeconds(5L)).pollDelay(Duration.ofMillis(50)).until(() -> { + // make sure incoming spans are processed + List> spans = getSpans(); + return spans.size() >= 1; + }); + List> spans = getSpans(); assertEquals(2, spans.size());