From ccb8adfd52a8623cf3fea6fc8bcf62f9027a895e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dariusz=20J=C4=99drzejczyk?= Date: Thu, 5 Sep 2024 22:41:43 +0200 Subject: [PATCH] Use TestObservationRegistry in context propagation tests (#810) Co-authored-by: Tommy Ludwig <8924140+shakuzen@users.noreply.github.com> Co-authored-by: Jonatan Ivanov --- .../contextpropagation/NestedScopesTests.java | 3 ++- .../brave/contextpropagation/ScopesTests.java | 19 +++++++++++-------- .../contextpropagation/NestedScopesTests.java | 3 ++- .../otel/contextpropagation/ScopesTests.java | 3 ++- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/contextpropagation/NestedScopesTests.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/contextpropagation/NestedScopesTests.java index 0d45faf2..9b03e8c8 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/contextpropagation/NestedScopesTests.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/contextpropagation/NestedScopesTests.java @@ -20,6 +20,7 @@ import io.micrometer.context.ContextSnapshot; import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; +import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.tracing.CurrentTraceContext.Scope; import io.micrometer.tracing.Span; import io.micrometer.tracing.Tracer; @@ -44,7 +45,7 @@ class NestedScopesTests { DefaultTracingObservationHandler handler = new DefaultTracingObservationHandler(tracer); - ObservationRegistry observationRegistry = ObservationRegistry.create(); + ObservationRegistry observationRegistry = TestObservationRegistry.create(); @BeforeEach void setup() { diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/contextpropagation/ScopesTests.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/contextpropagation/ScopesTests.java index 90d7da01..0428d6d9 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/contextpropagation/ScopesTests.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-brave/src/test/java/io/micrometer/tracing/brave/contextpropagation/ScopesTests.java @@ -27,6 +27,7 @@ import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.contextpropagation.ObservationThreadLocalAccessor; +import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.tracing.BaggageInScope; import io.micrometer.tracing.Span; import io.micrometer.tracing.Tracer; @@ -45,12 +46,10 @@ import reactor.core.scheduler.Schedulers; import reactor.util.context.Context; +import java.time.Duration; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; +import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicReference; import static org.assertj.core.api.BDDAssertions.then; @@ -83,7 +82,7 @@ class ScopesTests { Tracer tracer = new BraveTracer(this.braveTracer, new BraveCurrentTraceContext(this.currentTraceContext), new BraveBaggageManager()); - ObservationRegistry observationRegistry = ObservationRegistry.create(); + ObservationRegistry observationRegistry = TestObservationRegistry.create(); @BeforeEach void setup() { @@ -197,7 +196,9 @@ void should_open_and_close_scopes_with_reactor_multithreaded() { } else { try { - latch.await(); + if (!latch.await(1, TimeUnit.SECONDS)) { + throw new RuntimeException("Waiting for the latch timed out!"); + } } catch (InterruptedException e) { // ignore @@ -217,7 +218,7 @@ void should_open_and_close_scopes_with_reactor_multithreaded() { Span spanWOnNext = tracer.currentSpan(); logger.info("[outer-doOnNext] SPAN IN ON NEXT [" + spanWOnNext + "]"); assertInReactor(errorsInOuterOnNext, spanWOnNext, span2); - }).blockLast(); + }).blockLast(Duration.ofSeconds(1)); logger.info("Checking if there were no errors in reactor"); then(errorsInFlatMap).isEmpty(); @@ -254,7 +255,9 @@ void should_open_and_close_scopes_with_reactor_multithreaded() { Observation obs4 = Observation.start("4", observationRegistry); try (Observation.Scope scope4 = obs4.openScope()) { logger.info("FRESH SPAN AFTER [{}]", tracer.currentSpan()); - cleanupLatch.await(); + if (!cleanupLatch.await(1, TimeUnit.SECONDS)) { + throw new RuntimeException("Waiting for the latch timed out!"); + } } catch (InterruptedException e) { // ignore diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/contextpropagation/NestedScopesTests.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/contextpropagation/NestedScopesTests.java index 2762e4fc..6d994e22 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/contextpropagation/NestedScopesTests.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/contextpropagation/NestedScopesTests.java @@ -18,6 +18,7 @@ import io.micrometer.context.ContextSnapshot; import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; +import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.tracing.CurrentTraceContext.Scope; import io.micrometer.tracing.Span; import io.micrometer.tracing.Tracer; @@ -59,7 +60,7 @@ class NestedScopesTests { DefaultTracingObservationHandler handler = new DefaultTracingObservationHandler(tracer); - ObservationRegistry observationRegistry = ObservationRegistry.create(); + ObservationRegistry observationRegistry = TestObservationRegistry.create(); @BeforeEach void setup() { diff --git a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/contextpropagation/ScopesTests.java b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/contextpropagation/ScopesTests.java index b5e041f6..87b9e33c 100644 --- a/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/contextpropagation/ScopesTests.java +++ b/micrometer-tracing-bridges/micrometer-tracing-bridge-otel/src/test/java/io/micrometer/tracing/otel/contextpropagation/ScopesTests.java @@ -24,6 +24,7 @@ import io.micrometer.observation.Observation; import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.contextpropagation.ObservationThreadLocalAccessor; +import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.tracing.BaggageInScope; import io.micrometer.tracing.Span; import io.micrometer.tracing.Tracer; @@ -71,7 +72,7 @@ class ScopesTests { DefaultTracingObservationHandler handler = new DefaultTracingObservationHandler(tracer); - ObservationRegistry observationRegistry = ObservationRegistry.create(); + ObservationRegistry observationRegistry = TestObservationRegistry.create(); @BeforeEach void setup() {