Change opentracing testbed to use the junit5 extension (#1989)
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
parent
faf6b9f15e
commit
01aa248356
|
@ -10,7 +10,7 @@ import static org.junit.Assert.assertTrue;
|
|||
|
||||
import io.opentelemetry.api.common.AttributeKey;
|
||||
import io.opentelemetry.api.trace.Span.Kind;
|
||||
import io.opentelemetry.exporters.inmemory.InMemorySpanExporter;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
@ -24,8 +24,8 @@ public final class TestUtils {
|
|||
private TestUtils() {}
|
||||
|
||||
/** Returns the number of finished {@code Span}s in the specified {@code InMemorySpanExporter}. */
|
||||
public static Callable<Integer> finishedSpansSize(final InMemorySpanExporter exporter) {
|
||||
return () -> exporter.getFinishedSpanItems().size();
|
||||
public static Callable<Integer> finishedSpansSize(final OpenTelemetryExtension otelTesting) {
|
||||
return () -> otelTesting.getSpans().size();
|
||||
}
|
||||
|
||||
/** Returns a {@code List} with the {@code Span} matching the specified attribute. */
|
||||
|
|
|
@ -14,11 +14,9 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
|
|||
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.SpanId;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Scope;
|
||||
import io.opentracing.Span;
|
||||
|
@ -28,16 +26,14 @@ import java.util.concurrent.ExecutorService;
|
|||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
@SuppressWarnings("FutureReturnValueIgnored")
|
||||
class ActiveSpanReplacementTest {
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private final ExecutorService executor = Executors.newCachedThreadPool();
|
||||
|
||||
@Test
|
||||
|
@ -49,11 +45,9 @@ class ActiveSpanReplacementTest {
|
|||
submitAnotherTask(span);
|
||||
}
|
||||
|
||||
await()
|
||||
.atMost(15, TimeUnit.SECONDS)
|
||||
.until(finishedSpansSize(inMemoryTracing.getSpanExporter()), equalTo(3));
|
||||
await().atMost(15, TimeUnit.SECONDS).until(finishedSpansSize(otelTesting), equalTo(3));
|
||||
|
||||
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> spans = otelTesting.getSpans();
|
||||
assertEquals(3, spans.size());
|
||||
assertEquals("initial", spans.get(0).getName()); // Isolated task
|
||||
assertEquals("subtask", spans.get(1).getName());
|
||||
|
|
|
@ -9,11 +9,9 @@ import static io.opentelemetry.opentracingshim.testbed.TestUtils.getByKind;
|
|||
import static io.opentelemetry.opentracingshim.testbed.TestUtils.getOneByKind;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.Span.Kind;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Scope;
|
||||
import io.opentracing.Span;
|
||||
|
@ -25,6 +23,7 @@ import java.util.concurrent.Future;
|
|||
import java.util.concurrent.Phaser;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
/**
|
||||
* These tests are intended to simulate the kind of async models that are common in java async
|
||||
|
@ -37,12 +36,10 @@ import org.junit.jupiter.api.Test;
|
|||
*/
|
||||
@SuppressWarnings("FutureReturnValueIgnored")
|
||||
class ActorPropagationTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private Phaser phaser;
|
||||
|
||||
@BeforeEach
|
||||
|
@ -68,15 +65,14 @@ class ActorPropagationTest {
|
|||
}
|
||||
|
||||
phaser.arriveAndAwaitAdvance(); // child tracer started
|
||||
assertThat(inMemoryTracing.getSpanExporter().getFinishedSpanItems().size()).isEqualTo(1);
|
||||
assertThat(otelTesting.getSpans().size()).isEqualTo(1);
|
||||
phaser.arriveAndAwaitAdvance(); // continue...
|
||||
phaser.arriveAndAwaitAdvance(); // child tracer finished
|
||||
assertThat(inMemoryTracing.getSpanExporter().getFinishedSpanItems().size()).isEqualTo(3);
|
||||
assertThat(getByKind(inMemoryTracing.getSpanExporter().getFinishedSpanItems(), Kind.CONSUMER))
|
||||
.hasSize(2);
|
||||
assertThat(otelTesting.getSpans().size()).isEqualTo(3);
|
||||
assertThat(getByKind(otelTesting.getSpans(), Kind.CONSUMER)).hasSize(2);
|
||||
phaser.arriveAndDeregister(); // continue...
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertThat(finished.size()).isEqualTo(3);
|
||||
assertThat(finished.get(0).getTraceId()).isEqualTo(finished.get(1).getTraceId());
|
||||
assertThat(getByKind(finished, Kind.CONSUMER)).hasSize(2);
|
||||
|
@ -105,15 +101,14 @@ class ActorPropagationTest {
|
|||
span.finish();
|
||||
}
|
||||
phaser.arriveAndAwaitAdvance(); // child tracer started
|
||||
assertThat(inMemoryTracing.getSpanExporter().getFinishedSpanItems().size()).isEqualTo(1);
|
||||
assertThat(otelTesting.getSpans().size()).isEqualTo(1);
|
||||
phaser.arriveAndAwaitAdvance(); // continue...
|
||||
phaser.arriveAndAwaitAdvance(); // child tracer finished
|
||||
assertThat(inMemoryTracing.getSpanExporter().getFinishedSpanItems().size()).isEqualTo(3);
|
||||
assertThat(getByKind(inMemoryTracing.getSpanExporter().getFinishedSpanItems(), Kind.CONSUMER))
|
||||
.hasSize(2);
|
||||
assertThat(otelTesting.getSpans().size()).isEqualTo(3);
|
||||
assertThat(getByKind(otelTesting.getSpans(), Kind.CONSUMER)).hasSize(2);
|
||||
phaser.arriveAndDeregister(); // continue...
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
String message1 = future1.get(); // This really should be a non-blocking callback...
|
||||
String message2 = future2.get(); // This really should be a non-blocking callback...
|
||||
assertThat(message1).isEqualTo("received my message 1");
|
||||
|
|
|
@ -7,10 +7,8 @@ package io.opentelemetry.opentracingshim.testbed.baggagehandling;
|
|||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentracing.Span;
|
||||
import io.opentracing.Tracer;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
@ -18,14 +16,13 @@ import java.util.concurrent.Executors;
|
|||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
public final class BaggageHandlingTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private final ExecutorService executor = Executors.newCachedThreadPool();
|
||||
|
||||
@Test
|
||||
|
@ -58,7 +55,7 @@ public final class BaggageHandlingTest {
|
|||
/* Single call, no need to use await() */
|
||||
f.get(5, TimeUnit.SECONDS);
|
||||
|
||||
assertEquals(2, inMemoryTracing.getSpanExporter().getFinishedSpanItems().size());
|
||||
assertEquals(2, otelTesting.getSpans().size());
|
||||
assertEquals(span.getBaggageItem("key1"), "value2");
|
||||
assertEquals(span.getBaggageItem("newkey"), "newvalue");
|
||||
}
|
||||
|
|
|
@ -12,12 +12,9 @@ import static org.hamcrest.core.IsEqual.equalTo;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.Span.Kind;
|
||||
import io.opentelemetry.api.trace.propagation.HttpTraceContext;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Tracer;
|
||||
import java.util.List;
|
||||
|
@ -26,17 +23,13 @@ import java.util.concurrent.TimeUnit;
|
|||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
class TestClientServerTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder()
|
||||
.setTracerProvider(sdk)
|
||||
.setPropagators(HttpTraceContext::getInstance)
|
||||
.build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private final ArrayBlockingQueue<Message> queue = new ArrayBlockingQueue<>(10);
|
||||
private Server server;
|
||||
|
||||
|
@ -57,11 +50,9 @@ class TestClientServerTest {
|
|||
Client client = new Client(queue, tracer);
|
||||
client.send();
|
||||
|
||||
await()
|
||||
.atMost(15, TimeUnit.SECONDS)
|
||||
.until(finishedSpansSize(inMemoryTracing.getSpanExporter()), equalTo(2));
|
||||
await().atMost(15, TimeUnit.SECONDS).until(finishedSpansSize(otelTesting), equalTo(2));
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertEquals(2, finished.size());
|
||||
|
||||
finished = sortByStartTime(finished);
|
||||
|
|
|
@ -13,12 +13,10 @@ import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
|||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.Span.Kind;
|
||||
import io.opentelemetry.api.trace.SpanId;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Scope;
|
||||
import io.opentracing.Span;
|
||||
|
@ -26,8 +24,8 @@ import io.opentracing.Tracer;
|
|||
import java.util.List;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
/**
|
||||
* There is only one instance of 'RequestHandler' per 'Client'. Methods of 'RequestHandler' are
|
||||
|
@ -35,20 +33,12 @@ import org.junit.jupiter.api.Test;
|
|||
* use current active span and activate span. So one issue here is setting correct parent span.
|
||||
*/
|
||||
class HandlerTest {
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private final Client client = new Client(new RequestHandler(tracer));
|
||||
|
||||
@BeforeEach
|
||||
void before() {
|
||||
inMemoryTracing.getSpanExporter().reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
void two_requests() throws Exception {
|
||||
Future<String> responseFuture = client.send("message");
|
||||
|
@ -57,7 +47,7 @@ class HandlerTest {
|
|||
assertEquals("message:response", responseFuture.get(15, TimeUnit.SECONDS));
|
||||
assertEquals("message2:response", responseFuture2.get(15, TimeUnit.SECONDS));
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertEquals(2, finished.size());
|
||||
|
||||
for (SpanData spanData : finished) {
|
||||
|
@ -82,7 +72,7 @@ class HandlerTest {
|
|||
parentSpan.finish();
|
||||
}
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertEquals(2, finished.size());
|
||||
|
||||
SpanData child = getOneByName(finished, RequestHandler.OPERATION_NAME);
|
||||
|
@ -117,7 +107,7 @@ class HandlerTest {
|
|||
String response = client.send("wrong_parent").get(15, TimeUnit.SECONDS);
|
||||
assertEquals("wrong_parent:response", response);
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertEquals(3, finished.size());
|
||||
|
||||
finished = sortByStartTime(finished);
|
||||
|
|
|
@ -11,11 +11,9 @@ import static org.hamcrest.core.IsEqual.equalTo;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.StatusCode;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData.Event;
|
||||
import io.opentracing.Scope;
|
||||
|
@ -30,15 +28,14 @@ import java.util.concurrent.ExecutorService;
|
|||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
@SuppressWarnings("FutureReturnValueIgnored")
|
||||
public final class ErrorReportingTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private final ExecutorService executor = Executors.newCachedThreadPool();
|
||||
|
||||
/* Very simple error handling **/
|
||||
|
@ -55,7 +52,7 @@ public final class ErrorReportingTest {
|
|||
|
||||
assertNull(tracer.scopeManager().activeSpan());
|
||||
|
||||
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> spans = otelTesting.getSpans();
|
||||
assertEquals(spans.size(), 1);
|
||||
assertEquals(spans.get(0).getStatus().getCanonicalCode(), StatusCode.ERROR);
|
||||
}
|
||||
|
@ -75,11 +72,9 @@ public final class ErrorReportingTest {
|
|||
}
|
||||
});
|
||||
|
||||
await()
|
||||
.atMost(5, TimeUnit.SECONDS)
|
||||
.until(finishedSpansSize(inMemoryTracing.getSpanExporter()), equalTo(1));
|
||||
await().atMost(5, TimeUnit.SECONDS).until(finishedSpansSize(otelTesting), equalTo(1));
|
||||
|
||||
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> spans = otelTesting.getSpans();
|
||||
assertEquals(spans.size(), 1);
|
||||
assertEquals(spans.get(0).getStatus().getCanonicalCode(), StatusCode.ERROR);
|
||||
}
|
||||
|
@ -110,7 +105,7 @@ public final class ErrorReportingTest {
|
|||
|
||||
assertNull(tracer.scopeManager().activeSpan());
|
||||
|
||||
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> spans = otelTesting.getSpans();
|
||||
assertEquals(spans.size(), 1);
|
||||
assertEquals(spans.get(0).getStatus().getCanonicalCode(), StatusCode.ERROR);
|
||||
|
||||
|
@ -143,11 +138,9 @@ public final class ErrorReportingTest {
|
|||
tracer));
|
||||
}
|
||||
|
||||
await()
|
||||
.atMost(5, TimeUnit.SECONDS)
|
||||
.until(finishedSpansSize(inMemoryTracing.getSpanExporter()), equalTo(1));
|
||||
await().atMost(5, TimeUnit.SECONDS).until(finishedSpansSize(otelTesting), equalTo(1));
|
||||
|
||||
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> spans = otelTesting.getSpans();
|
||||
assertEquals(spans.size(), 1);
|
||||
assertEquals(spans.get(0).getStatus().getCanonicalCode(), StatusCode.ERROR);
|
||||
}
|
||||
|
|
|
@ -11,10 +11,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Scope;
|
||||
import io.opentracing.Span;
|
||||
|
@ -24,15 +22,14 @@ import java.util.concurrent.ExecutorService;
|
|||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
@SuppressWarnings("FutureReturnValueIgnored")
|
||||
public final class LateSpanFinishTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private final ExecutorService executor = Executors.newCachedThreadPool();
|
||||
|
||||
@Test
|
||||
|
@ -49,7 +46,7 @@ public final class LateSpanFinishTest {
|
|||
parentSpan.finish();
|
||||
|
||||
// Children finish order is not guaranteed, but parent should finish *last*.
|
||||
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> spans = otelTesting.getSpans();
|
||||
assertEquals(3, spans.size());
|
||||
assertTrue(spans.get(0).getName().startsWith("task"));
|
||||
assertTrue(spans.get(1).getName().startsWith("task"));
|
||||
|
|
|
@ -8,24 +8,21 @@ package io.opentelemetry.opentracingshim.testbed.listenerperrequest;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.Span;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Tracer;
|
||||
import java.util.List;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
/** Each request has own instance of ResponseListener. */
|
||||
class ListenerTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
|
||||
@Test
|
||||
void test() throws Exception {
|
||||
|
@ -33,7 +30,7 @@ class ListenerTest {
|
|||
Object response = client.send("message").get();
|
||||
assertEquals("message:response", response);
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertEquals(1, finished.size());
|
||||
assertEquals(finished.get(0).getKind(), Span.Kind.CLIENT);
|
||||
|
||||
|
|
|
@ -11,10 +11,8 @@ import static org.hamcrest.core.IsEqual.equalTo;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Scope;
|
||||
import io.opentracing.Span;
|
||||
|
@ -23,6 +21,7 @@ import java.util.List;
|
|||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
/**
|
||||
* These tests are intended to simulate a task with independent, asynchronous callbacks.
|
||||
|
@ -32,12 +31,10 @@ import org.junit.jupiter.api.Test;
|
|||
*/
|
||||
@SuppressWarnings("FutureReturnValueIgnored")
|
||||
class MultipleCallbacksTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
|
||||
@Test
|
||||
void test() {
|
||||
|
@ -54,11 +51,9 @@ class MultipleCallbacksTest {
|
|||
parentDoneLatch.countDown();
|
||||
}
|
||||
|
||||
await()
|
||||
.atMost(15, TimeUnit.SECONDS)
|
||||
.until(finishedSpansSize(inMemoryTracing.getSpanExporter()), equalTo(4));
|
||||
await().atMost(15, TimeUnit.SECONDS).until(finishedSpansSize(otelTesting), equalTo(4));
|
||||
|
||||
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> spans = otelTesting.getSpans();
|
||||
assertEquals(4, spans.size());
|
||||
assertEquals("parent", spans.get(0).getName());
|
||||
|
||||
|
|
|
@ -12,11 +12,9 @@ import static org.hamcrest.core.IsEqual.equalTo;
|
|||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNull;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.common.ReadableAttributes;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Scope;
|
||||
import io.opentracing.Span;
|
||||
|
@ -26,15 +24,14 @@ import java.util.concurrent.ExecutorService;
|
|||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
@SuppressWarnings("FutureReturnValueIgnored")
|
||||
public final class NestedCallbacksTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private final ExecutorService executor = Executors.newCachedThreadPool();
|
||||
|
||||
@Test
|
||||
|
@ -43,11 +40,9 @@ public final class NestedCallbacksTest {
|
|||
Span span = tracer.buildSpan("one").start();
|
||||
submitCallbacks(span);
|
||||
|
||||
await()
|
||||
.atMost(15, TimeUnit.SECONDS)
|
||||
.until(finishedSpansSize(inMemoryTracing.getSpanExporter()), equalTo(1));
|
||||
await().atMost(15, TimeUnit.SECONDS).until(finishedSpansSize(otelTesting), equalTo(1));
|
||||
|
||||
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> spans = otelTesting.getSpans();
|
||||
assertEquals(1, spans.size());
|
||||
assertEquals("one", spans.get(0).getName());
|
||||
|
||||
|
|
|
@ -9,12 +9,10 @@ import static io.opentelemetry.api.common.AttributeKey.stringKey;
|
|||
import static io.opentelemetry.opentracingshim.testbed.TestUtils.getByAttr;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.common.AttributeKey;
|
||||
import io.opentelemetry.api.trace.SpanId;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Scope;
|
||||
import io.opentracing.Span;
|
||||
|
@ -25,6 +23,7 @@ import java.util.concurrent.Phaser;
|
|||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
/**
|
||||
* These tests are intended to simulate the kind of async models that are common in java async
|
||||
|
@ -36,12 +35,10 @@ import org.junit.jupiter.api.Test;
|
|||
* @author tylerbenson
|
||||
*/
|
||||
class PromisePropagationTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private Phaser phaser;
|
||||
|
||||
@BeforeEach
|
||||
|
@ -84,7 +81,7 @@ class PromisePropagationTest {
|
|||
phaser.arriveAndAwaitAdvance(); // result set
|
||||
});
|
||||
|
||||
assertThat(inMemoryTracing.getSpanExporter().getFinishedSpanItems().size()).isEqualTo(0);
|
||||
assertThat(otelTesting.getSpans().size()).isEqualTo(0);
|
||||
successPromise.success("success!");
|
||||
errorPromise.error(new Exception("some error."));
|
||||
} finally {
|
||||
|
@ -98,7 +95,7 @@ class PromisePropagationTest {
|
|||
|
||||
phaser.arriveAndAwaitAdvance(); // wait for traces to be reported
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertThat(finished.size()).isEqualTo(4);
|
||||
|
||||
AttributeKey<String> component = stringKey(Tags.COMPONENT.getKey());
|
||||
|
|
|
@ -7,37 +7,27 @@ package io.opentelemetry.opentracingshim.testbed.statelesscommonrequesthandler;
|
|||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Tracer;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
/**
|
||||
* There is only one instance of 'RequestHandler' per 'Client'. Methods of 'RequestHandler' are
|
||||
* executed in the same thread (beforeRequest() and its resulting afterRequest(), that is).
|
||||
*/
|
||||
public final class HandlerTest {
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
private final Client client = new Client(new RequestHandler(tracer));
|
||||
|
||||
@BeforeEach
|
||||
void before() {
|
||||
inMemoryTracing.getSpanExporter().reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_requests() throws Exception {
|
||||
Future<String> responseFuture = client.send("message");
|
||||
|
@ -48,7 +38,7 @@ public final class HandlerTest {
|
|||
assertEquals("message2:response", responseFuture2.get(5, TimeUnit.SECONDS));
|
||||
assertEquals("message:response", responseFuture.get(5, TimeUnit.SECONDS));
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertEquals(3, finished.size());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,16 +7,15 @@ package io.opentelemetry.opentracingshim.testbed.suspendresumepropagation;
|
|||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.SpanId;
|
||||
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
|
||||
import io.opentelemetry.opentracingshim.OpenTracingShim;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.testing.junit5.OpenTelemetryExtension;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentracing.Tracer;
|
||||
import java.util.List;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.RegisterExtension;
|
||||
|
||||
/**
|
||||
* These tests are intended to simulate the kind of async models that are common in java async
|
||||
|
@ -25,12 +24,10 @@ import org.junit.jupiter.api.Test;
|
|||
* @author tylerbenson
|
||||
*/
|
||||
class SuspendResumePropagationTest {
|
||||
private final TracerSdkProvider sdk = TracerSdkProvider.builder().build();
|
||||
private final OpenTelemetry openTelemetry =
|
||||
OpenTelemetry.get().toBuilder().setTracerProvider(sdk).build();
|
||||
private final InMemoryTracing inMemoryTracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(sdk).build();
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(openTelemetry);
|
||||
@RegisterExtension
|
||||
static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();
|
||||
|
||||
private final Tracer tracer = OpenTracingShim.createTracerShim(otelTesting.getOpenTelemetry());
|
||||
|
||||
@BeforeEach
|
||||
void before() {}
|
||||
|
@ -51,7 +48,7 @@ class SuspendResumePropagationTest {
|
|||
job1.done();
|
||||
job2.done();
|
||||
|
||||
List<SpanData> finished = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
|
||||
List<SpanData> finished = otelTesting.getSpans();
|
||||
assertThat(finished.size()).isEqualTo(2);
|
||||
|
||||
assertThat(finished.get(0).getName()).isEqualTo("job 1");
|
||||
|
|
Loading…
Reference in New Issue