Remove DefaultSpan from public API. (#1791)

* Cleanup

* Fix comment

* isValid not valid
This commit is contained in:
Anuraag Agrawal 2020-10-15 11:37:03 +09:00 committed by GitHub
parent 0ceff17dfa
commit 2d0f91b538
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
42 changed files with 137 additions and 163 deletions

View File

@ -7,7 +7,7 @@ package io.opentelemetry.trace.propagation;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.TraceFlags;
import io.opentelemetry.trace.TraceState;
@ -75,7 +75,7 @@ public class HttpTraceContextInjectBenchmark {
private static List<Context> createContexts(List<SpanContext> spanContexts) {
List<Context> contexts = new ArrayList<>();
for (SpanContext context : spanContexts) {
contexts.add(TracingContextUtils.withSpan(DefaultSpan.create(context), Context.root()));
contexts.add(TracingContextUtils.withSpan(Span.wrap(context), Context.root()));
}
return contexts;
}

View File

@ -59,9 +59,7 @@ public final class DefaultTracer implements Tracer {
spanContext = TracingContextUtils.getCurrentSpan().getContext();
}
return spanContext != null && !SpanContext.getInvalid().equals(spanContext)
? new DefaultSpan(spanContext)
: DefaultSpan.getInvalid();
return Span.wrap(spanContext);
}
@Override

View File

@ -12,36 +12,15 @@ import javax.annotation.concurrent.Immutable;
/**
* The {@code DefaultSpan} is the default {@link Span} that is used when no {@code Span}
* implementation is available. All operations are no-op except context propagation.
*
* <p>Used also to stop tracing, see {@link Tracer#withSpan}.
*/
@Immutable
public final class DefaultSpan implements Span {
final class PropagatedSpan implements Span {
private static final DefaultSpan INVALID = new DefaultSpan(SpanContext.getInvalid());
/**
* Returns a {@link DefaultSpan} with an invalid {@link SpanContext}.
*
* @return a {@code DefaultSpan} with an invalid {@code SpanContext}.
*/
public static Span getInvalid() {
return INVALID;
}
/**
* Creates an instance of this class with the {@link SpanContext}.
*
* @param spanContext the {@code SpanContext}.
* @return a {@link DefaultSpan}.
*/
public static Span create(SpanContext spanContext) {
return new DefaultSpan(spanContext);
}
static final PropagatedSpan INVALID = new PropagatedSpan(SpanContext.getInvalid());
private final SpanContext spanContext;
DefaultSpan(SpanContext spanContext) {
PropagatedSpan(SpanContext spanContext) {
this.spanContext = spanContext;
}

View File

@ -21,6 +21,26 @@ import javax.annotation.concurrent.ThreadSafe;
@ThreadSafe
public interface Span {
/**
* Returns an invalid {@link Span}. An invalid {@link Span} is used when tracing is disabled,
* usually because there is no OpenTelemetry SDK installed.
*/
static Span getInvalid() {
return PropagatedSpan.INVALID;
}
/**
* Returns a non-recording {@link Span} that holds the provided {@link SpanContext} but has no
* functionality. It will not be exported and all tracing operations are no-op, but it can be used
* to propagate a valid {@link SpanContext} downstream.
*/
static Span wrap(SpanContext spanContext) {
if (spanContext == null || !spanContext.isValid()) {
return getInvalid();
}
return new PropagatedSpan(spanContext);
}
/**
* Type of span. Can be used to specify additional relationships between spans in addition to a
* parent/child relationship.

View File

@ -78,7 +78,8 @@ public interface Tracer {
*
* <p>Supports try-with-resource idiom.
*
* <p>Can be called with {@link DefaultSpan} to enter a scope of code where tracing is stopped.
* <p>Can be called with {@code Span.getPropagated(span.getContext())} to enter a scope of code
* where tracing is stopped.
*
* <p>Example of usage:
*

View File

@ -47,7 +47,7 @@ public final class TracingContextUtils {
*/
public static Span getSpan(Context context) {
Span span = context.getValue(CONTEXT_SPAN_KEY);
return span == null ? DefaultSpan.getInvalid() : span;
return span == null ? Span.getInvalid() : span;
}
/**

View File

@ -10,7 +10,7 @@ import static io.opentelemetry.internal.Utils.checkArgument;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.internal.TemporaryBuffers;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.TraceFlags;
@ -149,7 +149,7 @@ public class HttpTraceContext implements TextMapPropagator {
return context;
}
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
private static <C> SpanContext extractImpl(C carrier, Getter<C> getter) {

View File

@ -31,16 +31,16 @@ class DefaultTracerTest {
@Test
void defaultGetCurrentSpan() {
assertThat(defaultTracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void getCurrentSpan_WithSpan() {
assertThat(defaultTracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
try (Scope ws = defaultTracer.withSpan(DefaultSpan.getInvalid())) {
assertThat(defaultTracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse();
try (Scope ws = defaultTracer.withSpan(Span.getInvalid())) {
assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse();
}
assertThat(defaultTracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
@ -50,7 +50,7 @@ class DefaultTracerTest {
@Test
void defaultSpanBuilderWithName() {
assertThat(defaultTracer.spanBuilder(SPAN_NAME).startSpan()).isInstanceOf(DefaultSpan.class);
assertThat(defaultTracer.spanBuilder(SPAN_NAME).startSpan().getContext().isValid()).isFalse();
}
@Test
@ -65,7 +65,7 @@ class DefaultTracerTest {
assertThat(defaultTracer.getCurrentSpan()).isEqualTo(span);
}
}
assertThat(defaultTracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
@ -73,15 +73,14 @@ class DefaultTracerTest {
Span span =
defaultTracer
.spanBuilder(SPAN_NAME)
.setParent(
TracingContextUtils.withSpan(DefaultSpan.create(spanContext), Context.root()))
.setParent(TracingContextUtils.withSpan(Span.wrap(spanContext), Context.root()))
.startSpan();
assertThat(span.getContext()).isSameAs(spanContext);
}
@Test
void testSpanContextPropagation() {
DefaultSpan parent = new DefaultSpan(spanContext);
Span parent = Span.wrap(spanContext);
Span span =
defaultTracer
@ -106,7 +105,7 @@ class DefaultTracerTest {
@Test
void testSpanContextPropagation_fromContext() {
Context context = TracingContextUtils.withSpan(new DefaultSpan(spanContext), Context.current());
Context context = TracingContextUtils.withSpan(Span.wrap(spanContext), Context.current());
Span span = defaultTracer.spanBuilder(SPAN_NAME).setParent(context).startSpan();
assertThat(span.getContext()).isSameAs(spanContext);
@ -114,7 +113,7 @@ class DefaultTracerTest {
@Test
void testSpanContextPropagation_fromContextAfterNoParent() {
Context context = TracingContextUtils.withSpan(new DefaultSpan(spanContext), Context.current());
Context context = TracingContextUtils.withSpan(Span.wrap(spanContext), Context.current());
Span span = defaultTracer.spanBuilder(SPAN_NAME).setNoParent().setParent(context).startSpan();
assertThat(span.getContext()).isSameAs(spanContext);
@ -122,7 +121,7 @@ class DefaultTracerTest {
@Test
void testSpanContextPropagation_fromContextThenNoParent() {
Context context = TracingContextUtils.withSpan(new DefaultSpan(spanContext), Context.current());
Context context = TracingContextUtils.withSpan(Span.wrap(spanContext), Context.current());
Span span = defaultTracer.spanBuilder(SPAN_NAME).setParent(context).setNoParent().startSpan();
assertThat(span.getContext()).isEqualTo(SpanContext.getInvalid());
@ -130,7 +129,7 @@ class DefaultTracerTest {
@Test
void testSpanContextPropagationCurrentSpan() {
DefaultSpan parent = new DefaultSpan(spanContext);
Span parent = Span.wrap(spanContext);
try (Scope scope = defaultTracer.withSpan(parent)) {
Span span = defaultTracer.spanBuilder(SPAN_NAME).startSpan();
assertThat(span.getContext()).isSameAs(spanContext);
@ -139,8 +138,7 @@ class DefaultTracerTest {
@Test
void testSpanContextPropagationCurrentSpanContext() {
Context context =
TracingContextUtils.withSpan(DefaultSpan.create(spanContext), Context.current());
Context context = TracingContextUtils.withSpan(Span.wrap(spanContext), Context.current());
try (Scope scope = context.makeCurrent()) {
Span span = defaultTracer.spanBuilder(SPAN_NAME).startSpan();
assertThat(span.getContext()).isSameAs(spanContext);

View File

@ -17,19 +17,18 @@ import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.common.Attributes;
import org.junit.jupiter.api.Test;
/** Unit tests for {@link DefaultSpan}. */
class DefaultSpanTest {
class PropagatedSpanTest {
@Test
void hasInvalidContextAndDefaultSpanOptions() {
SpanContext context = DefaultSpan.getInvalid().getContext();
SpanContext context = Span.getInvalid().getContext();
assertThat(context.getTraceFlags()).isEqualTo(TraceFlags.getDefault());
assertThat(context.getTraceState()).isEqualTo(TraceState.getDefault());
}
@Test
void doNotCrash() {
Span span = DefaultSpan.getInvalid();
Span span = Span.getInvalid();
span.setAttribute(stringKey("MyStringAttributeKey"), "MyStringAttributeValue");
span.setAttribute(booleanKey("MyBooleanAttributeKey"), true);
span.setAttribute(longKey("MyLongAttributeKey"), 123L);
@ -56,7 +55,7 @@ class DefaultSpanTest {
@Test
void defaultSpan_ToString() {
Span span = DefaultSpan.getInvalid();
Span span = Span.getInvalid();
assertThat(span.toString()).isEqualTo("DefaultSpan");
}
}

View File

@ -22,18 +22,18 @@ class SpanBuilderTest {
void doNotCrash_NoopImplementation() {
Span.Builder spanBuilder = tracer.spanBuilder("MySpanName");
spanBuilder.setSpanKind(Kind.SERVER);
spanBuilder.setParent(TracingContextUtils.withSpan(DefaultSpan.create(null), Context.root()));
spanBuilder.setParent(TracingContextUtils.withSpan(Span.wrap(null), Context.root()));
spanBuilder.setParent(Context.root());
spanBuilder.setNoParent();
spanBuilder.addLink(DefaultSpan.getInvalid().getContext());
spanBuilder.addLink(DefaultSpan.getInvalid().getContext(), Attributes.empty());
spanBuilder.addLink(Span.getInvalid().getContext());
spanBuilder.addLink(Span.getInvalid().getContext(), Attributes.empty());
spanBuilder.setAttribute("key", "value");
spanBuilder.setAttribute("key", 12345L);
spanBuilder.setAttribute("key", .12345);
spanBuilder.setAttribute("key", true);
spanBuilder.setAttribute(stringKey("key"), "value");
spanBuilder.setStartTimestamp(12345L);
assertThat(spanBuilder.startSpan()).isInstanceOf(DefaultSpan.class);
assertThat(spanBuilder.startSpan().getContext().isValid()).isFalse();
}
@Test

View File

@ -16,12 +16,12 @@ class TracingContextUtilsTest {
@Test
void testGetCurrentSpan_Default() {
Span span = TracingContextUtils.getCurrentSpan();
assertThat(span).isSameAs(DefaultSpan.getInvalid());
assertThat(span).isSameAs(Span.getInvalid());
}
@Test
void testGetCurrentSpan_SetSpan() {
Span span = DefaultSpan.create(SpanContext.getInvalid());
Span span = Span.wrap(SpanContext.getInvalid());
try (Scope ignored = TracingContextUtils.withSpan(span, Context.current()).makeCurrent()) {
assertThat(TracingContextUtils.getCurrentSpan()).isSameAs(span);
}
@ -30,12 +30,12 @@ class TracingContextUtilsTest {
@Test
void testGetSpan_DefaultContext() {
Span span = TracingContextUtils.getSpan(Context.current());
assertThat(span).isSameAs(DefaultSpan.getInvalid());
assertThat(span).isSameAs(Span.getInvalid());
}
@Test
void testGetSpan_ExplicitContext() {
Span span = DefaultSpan.create(SpanContext.getInvalid());
Span span = Span.wrap(SpanContext.getInvalid());
Context context = TracingContextUtils.withSpan(span, Context.current());
assertThat(TracingContextUtils.getSpan(context)).isSameAs(span);
}
@ -48,7 +48,7 @@ class TracingContextUtilsTest {
@Test
void testGetSpanWithoutDefault_ExplicitContext() {
Span span = DefaultSpan.create(SpanContext.getInvalid());
Span span = Span.wrap(SpanContext.getInvalid());
Context context = TracingContextUtils.withSpan(span, Context.current());
assertThat(TracingContextUtils.getSpanWithoutDefault(context)).isSameAs(span);
}

View File

@ -13,7 +13,7 @@ import static org.assertj.core.api.Assertions.entry;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.TraceFlags;
@ -52,7 +52,7 @@ class HttpTraceContextTest {
}
private static Context withSpanContext(SpanContext spanContext, Context context) {
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
@Test

View File

@ -7,7 +7,7 @@ package io.opentelemetry.extensions.trace.propagation;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.TraceFlags;
import io.opentelemetry.trace.TraceState;
@ -62,8 +62,7 @@ public class PropagatorContextInjectBenchmark {
@BenchmarkMode(Mode.AverageTime)
@Fork(1)
public Map<String, String> measureInject() {
Context context =
TracingContextUtils.withSpan(DefaultSpan.create(contextToTest), Context.current());
Context context = TracingContextUtils.withSpan(Span.wrap(contextToTest), Context.current());
doInject(context, carrier);
return carrier;
}

View File

@ -7,7 +7,6 @@ package io.opentelemetry.extensions.trace.propagation;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId;
@ -128,7 +127,7 @@ public class AwsXRayPropagator implements TextMapPropagator {
return context;
}
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
private static <C> SpanContext getSpanContextFromHeader(C carrier, Getter<C> getter) {

View File

@ -11,7 +11,7 @@ import static io.opentelemetry.extensions.trace.propagation.B3Propagator.TRACE_I
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.TracingContextUtils;
import java.util.Objects;
@ -34,7 +34,7 @@ final class B3PropagatorExtractorMultipleHeaders implements B3PropagatorExtracto
return Optional.empty();
}
return Optional.of(TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context));
return Optional.of(TracingContextUtils.withSpan(Span.wrap(spanContext), context));
}
private static <C> SpanContext getSpanContextFromMultipleHeaders(

View File

@ -10,7 +10,7 @@ import static io.opentelemetry.extensions.trace.propagation.B3Propagator.COMBINE
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.TracingContextUtils;
import java.util.Objects;
@ -33,7 +33,7 @@ final class B3PropagatorExtractorSingleHeader implements B3PropagatorExtractor {
return Optional.empty();
}
return Optional.of(TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context));
return Optional.of(TracingContextUtils.withSpan(Span.wrap(spanContext), context));
}
@SuppressWarnings("StringSplitter")

View File

@ -7,7 +7,7 @@ package io.opentelemetry.extensions.trace.propagation;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.TraceFlags;
@ -118,7 +118,7 @@ public class JaegerPropagator implements TextMapPropagator {
return context;
}
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
@SuppressWarnings("StringSplitter")

View File

@ -9,7 +9,7 @@ import static io.opentelemetry.extensions.trace.propagation.Common.MAX_TRACE_ID_
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.TraceId;
import io.opentelemetry.trace.TracingContextUtils;
@ -79,7 +79,7 @@ public class OtTracerPropagator implements TextMapPropagator {
if (!spanContext.isValid()) {
return context;
}
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
static SpanContext buildSpanContext(String traceId, String spanId, String sampled) {

View File

@ -10,7 +10,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.TraceFlags;
import io.opentelemetry.trace.TraceState;
@ -244,7 +244,7 @@ class AwsXRayPropagatorTest {
}
private static Context withSpanContext(SpanContext spanContext, Context context) {
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
private static SpanContext getSpanContext(Context context) {

View File

@ -10,7 +10,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.TraceFlags;
@ -54,7 +54,7 @@ class B3PropagatorTest {
}
private static Context withSpanContext(SpanContext spanContext, Context context) {
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
@Test

View File

@ -15,7 +15,7 @@ import io.jaegertracing.internal.propagation.TextMapCodec;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.TraceFlags;
@ -64,7 +64,7 @@ class JaegerPropagatorTest {
}
private static Context withSpanContext(SpanContext spanContext, Context context) {
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
@Test

View File

@ -10,7 +10,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator.Getter;
import io.opentelemetry.context.propagation.TextMapPropagator.Setter;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.TraceFlags;
@ -40,7 +40,7 @@ class OtTracerPropagatorTest {
}
private static Context withSpanContext(SpanContext spanContext, Context context) {
return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context);
return TracingContextUtils.withSpan(Span.wrap(spanContext), context);
}
@Test

View File

@ -14,7 +14,6 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanContext;
import io.opentelemetry.trace.SpanId;
@ -38,7 +37,7 @@ class TraceMultiPropagatorTest {
private static final TextMapPropagator PROPAGATOR3 = HttpTraceContext.getInstance();
private static final Span SPAN =
DefaultSpan.create(
Span.wrap(
SpanContext.createFromRemoteParent(
TraceId.fromLongs(1245, 67890),
SpanId.fromLong(12345),

View File

@ -9,7 +9,6 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.StatusCanonicalCode;
import io.opentelemetry.trace.TracingContextUtils;
@ -54,7 +53,7 @@ class CurrentSpanUtilsTest {
@Test
void withSpanRunnable() {
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Runnable runnable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -62,12 +61,12 @@ class CurrentSpanUtilsTest {
};
CurrentSpanUtils.withSpan(span, false, runnable).run();
verifyNoInteractions(span);
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanRunnable_EndSpan() {
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Runnable runnable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -75,13 +74,13 @@ class CurrentSpanUtilsTest {
};
CurrentSpanUtils.withSpan(span, true, runnable).run();
verify(span).end();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanRunnable_WithError() {
final AssertionError error = new AssertionError("MyError");
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Runnable runnable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -91,13 +90,13 @@ class CurrentSpanUtilsTest {
executeRunnableAndExpectError(runnable, error);
verify(span).setStatus(StatusCanonicalCode.ERROR, "MyError");
verify(span).end();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanRunnable_WithErrorNoMessage() {
final AssertionError error = new AssertionError();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Runnable runnable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -107,13 +106,13 @@ class CurrentSpanUtilsTest {
executeRunnableAndExpectError(runnable, error);
verify(span).setStatus(StatusCanonicalCode.ERROR, "AssertionError");
verify(span).end();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanCallable() throws Exception {
final Object ret = new Object();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Callable<Object> callable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -122,13 +121,13 @@ class CurrentSpanUtilsTest {
};
assertThat(CurrentSpanUtils.withSpan(span, false, callable).call()).isEqualTo(ret);
verifyNoInteractions(span);
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanCallable_EndSpan() throws Exception {
final Object ret = new Object();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Callable<Object> callable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -137,13 +136,13 @@ class CurrentSpanUtilsTest {
};
assertThat(CurrentSpanUtils.withSpan(span, true, callable).call()).isEqualTo(ret);
verify(span).end();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanCallable_WithException() {
final Exception exception = new Exception("MyException");
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Callable<Object> callable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -153,13 +152,13 @@ class CurrentSpanUtilsTest {
executeCallableAndExpectError(callable, exception);
verify(span).setStatus(StatusCanonicalCode.ERROR, "MyException");
verify(span).end();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanCallable_WithExceptionNoMessage() {
final Exception exception = new Exception();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Callable<Object> callable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -169,13 +168,13 @@ class CurrentSpanUtilsTest {
executeCallableAndExpectError(callable, exception);
verify(span).setStatus(StatusCanonicalCode.ERROR, "Exception");
verify(span).end();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanCallable_WithError() {
final AssertionError error = new AssertionError("MyError");
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Callable<Object> callable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -185,13 +184,13 @@ class CurrentSpanUtilsTest {
executeCallableAndExpectError(callable, error);
verify(span).setStatus(StatusCanonicalCode.ERROR, "MyError");
verify(span).end();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpanCallable_WithErrorNoMessage() {
final AssertionError error = new AssertionError();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
Callable<Object> callable =
() -> {
// When we run the runnable we will have the span in the current Context.
@ -201,7 +200,7 @@ class CurrentSpanUtilsTest {
executeCallableAndExpectError(callable, error);
verify(span).setStatus(StatusCanonicalCode.ERROR, "AssertionError");
verify(span).end();
assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(getCurrentSpan().getContext().isValid()).isFalse();
}
private static Span getCurrentSpan() {

View File

@ -8,7 +8,6 @@ package io.opentelemetry.opentracingshim;
import io.opentelemetry.baggage.BaggageUtils;
import io.opentelemetry.context.Context;
import io.opentelemetry.context.propagation.TextMapPropagator;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.TracingContextUtils;
import io.opentracing.propagation.TextMapExtract;
@ -24,8 +23,7 @@ final class Propagation extends BaseShimObject {
public void injectTextMap(SpanContextShim contextShim, TextMapInject carrier) {
Context context =
TracingContextUtils.withSpan(
DefaultSpan.create(contextShim.getSpanContext()), Context.current());
TracingContextUtils.withSpan(Span.wrap(contextShim.getSpanContext()), Context.current());
context = BaggageUtils.withBaggage(contextShim.getBaggage(), context);
propagators().getTextMapPropagator().inject(context, carrier, TextMapSetter.INSTANCE);

View File

@ -5,7 +5,6 @@
package io.opentelemetry.opentracingshim;
import io.opentelemetry.trace.DefaultSpan;
import io.opentracing.Scope;
import io.opentracing.ScopeManager;
import io.opentracing.Span;
@ -20,10 +19,9 @@ final class ScopeManagerShim extends BaseShimObject implements ScopeManager {
@SuppressWarnings("ReturnMissingNullable")
public Span activeSpan() {
// As OpenTracing simply returns null when no active instance is available,
// we need to do an explicit check against DefaultSpan,
// which is used in OpenTelemetry for this very case.
// we need to do map an invalid OpenTelemetry span to null here.
io.opentelemetry.trace.Span span = tracer().getCurrentSpan();
if (DefaultSpan.getInvalid().equals(span)) {
if (!span.getContext().isValid()) {
return null;
}

View File

@ -13,7 +13,6 @@ import static io.opentelemetry.common.AttributeKey.stringKey;
import io.opentelemetry.baggage.Baggage;
import io.opentelemetry.common.AttributeKey;
import io.opentelemetry.context.Context;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span.Kind;
import io.opentelemetry.trace.StatusCanonicalCode;
import io.opentelemetry.trace.TracingContextUtils;
@ -190,7 +189,8 @@ final class SpanBuilderShim extends BaseShimObject implements SpanBuilder {
} else if (parentSpanContext != null) {
builder.setParent(
TracingContextUtils.withSpan(
DefaultSpan.create(parentSpanContext.getSpanContext()), Context.root()));
io.opentelemetry.trace.Span.wrap(parentSpanContext.getSpanContext()),
Context.root()));
baggage = parentSpanContext.getBaggage();
}

View File

@ -5,13 +5,12 @@
package io.opentelemetry.opentracingshim;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import io.opentelemetry.OpenTelemetry;
import io.opentelemetry.trace.DefaultSpan;
import io.opentracing.Scope;
import io.opentracing.Span;
import io.opentracing.SpanContext;
@ -82,6 +81,6 @@ class TracerShimTest {
tracerShim.close();
Span otSpan = tracerShim.buildSpan(null).start();
io.opentelemetry.trace.Span span = ((SpanShim) otSpan).getSpan();
assertTrue(span instanceof DefaultSpan);
assertThat(span.getContext().isValid()).isFalse();
}
}

View File

@ -5,6 +5,7 @@
package io.opentelemetry.opentracingshim.testbed;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
@ -14,7 +15,6 @@ import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.opentracingshim.TraceShim;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentracing.Scope;
import io.opentracing.Span;
import io.opentracing.Tracer;
@ -45,7 +45,7 @@ class OpenTelemetryInteroperabilityTest {
} finally {
otSpan.finish();
}
assertEquals(tracer.getCurrentSpan().getClass(), DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
assertNull(otTracer.activeSpan());
List<SpanData> finishedSpans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
@ -62,7 +62,7 @@ class OpenTelemetryInteroperabilityTest {
otelSpan.end();
}
assertEquals(tracer.getCurrentSpan().getClass(), DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
assertNull(otTracer.activeSpan());
List<SpanData> finishedSpans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();

View File

@ -24,7 +24,6 @@ import io.opentelemetry.sdk.trace.Sampler.SamplingResult;
import io.opentelemetry.sdk.trace.config.TraceConfig;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.data.SpanData.Link;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Span.Kind;
import io.opentelemetry.trace.SpanContext;
@ -212,7 +211,7 @@ final class SpanBuilderSdk implements Span.Builder {
traceId, spanId, samplingResultTraceState, Samplers.isSampled(samplingDecision));
if (!Samplers.isRecording(samplingDecision)) {
return DefaultSpan.create(spanContext);
return Span.wrap(spanContext);
}
ReadableAttributes samplingAttributes = samplingResult.getAttributes();
if (!samplingAttributes.isEmpty()) {

View File

@ -26,7 +26,6 @@ import io.opentelemetry.context.Scope;
import io.opentelemetry.sdk.trace.config.TraceConfig;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.data.SpanData.Link;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Span.Kind;
import io.opentelemetry.trace.SpanContext;
@ -81,8 +80,8 @@ class SpanBuilderSdkTest {
void addLink() {
// Verify methods do not crash.
Span.Builder spanBuilder = tracerSdk.spanBuilder(SPAN_NAME);
spanBuilder.addLink(DefaultSpan.getInvalid().getContext());
spanBuilder.addLink(DefaultSpan.getInvalid().getContext(), Attributes.empty());
spanBuilder.addLink(Span.getInvalid().getContext());
spanBuilder.addLink(Span.getInvalid().getContext(), Attributes.empty());
RecordEventsReadableSpan span = (RecordEventsReadableSpan) spanBuilder.startSpan();
try {
@ -188,8 +187,7 @@ class SpanBuilderSdkTest {
void addLinkSpanContextAttributes_nullAttributes() {
assertThrows(
NullPointerException.class,
() ->
tracerSdk.spanBuilder(SPAN_NAME).addLink(DefaultSpan.getInvalid().getContext(), null));
() -> tracerSdk.spanBuilder(SPAN_NAME).addLink(Span.getInvalid().getContext(), null));
}
@Test
@ -783,7 +781,7 @@ class SpanBuilderSdkTest {
@Test
void parent_invalidContext() {
Span parent = DefaultSpan.getInvalid();
Span parent = Span.getInvalid();
final Context parentContext = TracingContextUtils.withSpan(parent, Context.current());
RecordEventsReadableSpan span =

View File

@ -15,7 +15,6 @@ import io.opentelemetry.sdk.common.CompletableResultCode;
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
import io.opentelemetry.sdk.resources.Resource;
import io.opentelemetry.sdk.trace.config.TraceConfig;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Tracer;
import org.junit.jupiter.api.BeforeEach;
@ -131,7 +130,7 @@ class TracerSdkProviderTest {
void returnNoopSpanAfterShutdown() {
tracerFactory.shutdown();
Span span = tracerFactory.get("noop").spanBuilder("span").startSpan();
assertThat(span).isInstanceOf(DefaultSpan.class);
assertThat(span.getContext().isValid()).isFalse();
span.end();
}
}

View File

@ -15,7 +15,6 @@ import io.opentelemetry.sdk.trace.StressTestRunner.OperationUpdater;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;
import io.opentelemetry.sdk.trace.export.SpanExporter;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.TracingContextUtils;
import java.util.Collection;
@ -52,7 +51,7 @@ class TracerSdkTest {
@Test
void defaultGetCurrentSpan() {
assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
@ -62,30 +61,30 @@ class TracerSdkTest {
@Test
void getCurrentSpan() {
assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
// Make sure context is detached even if test fails.
try (Scope ignored = TracingContextUtils.withSpan(span, Context.current()).makeCurrent()) {
assertThat(tracer.getCurrentSpan()).isSameAs(span);
}
assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void withSpan_NullSpan() {
assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
try (Scope ignored = tracer.withSpan(null)) {
assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
}
assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
}
@Test
void getCurrentSpan_WithSpan() {
assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
try (Scope ignored = tracer.withSpan(span)) {
assertThat(tracer.getCurrentSpan()).isSameAs(span);
}
assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class);
assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse();
}
@Test

View File

@ -15,7 +15,6 @@ import io.opentelemetry.context.Scope;
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.Tracer;
@ -61,7 +60,7 @@ class ActiveSpanReplacementTest {
assertThat(spans.get(0).getTraceId()).isNotEqualTo(spans.get(1).getTraceId());
assertThat(spans.get(0).getParentSpanId()).isEqualTo(SpanId.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
private void submitAnotherTask(final Span initialSpan) {

View File

@ -12,7 +12,6 @@ import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.sdk.extensions.trace.testbed.TestUtils;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Span.Kind;
import io.opentelemetry.trace.Tracer;
@ -73,7 +72,7 @@ class ActorPropagationTest {
assertThat(TestUtils.getByKind(finished, Span.Kind.CONSUMER)).hasSize(2);
assertThat(TestUtils.getOneByKind(finished, Span.Kind.PRODUCER)).isNotNull();
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
}
@ -114,7 +113,7 @@ class ActorPropagationTest {
assertThat(TestUtils.getByKind(finished, Span.Kind.CONSUMER)).hasSize(2);
assertThat(TestUtils.getOneByKind(finished, Span.Kind.PRODUCER)).isNotNull();
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
}
}

View File

@ -14,7 +14,7 @@ import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.sdk.extensions.trace.testbed.TestUtils;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Span.Kind;
import io.opentelemetry.trace.Tracer;
import java.util.List;
@ -62,6 +62,6 @@ class TestClientServerTest {
assertThat(finished.get(0).getKind()).isEqualTo(Kind.CLIENT);
assertThat(finished.get(1).getKind()).isEqualTo(Kind.SERVER);
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
}

View File

@ -13,7 +13,6 @@ import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.sdk.extensions.trace.testbed.TestUtils;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.SpanId;
import io.opentelemetry.trace.Tracer;
@ -61,7 +60,7 @@ class HandlerTest {
assertThat(finished.get(0).getParentSpanId()).isEqualTo(SpanId.getInvalid());
assertThat(finished.get(1).getParentSpanId()).isEqualTo(SpanId.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
/** Active parent is not picked up by child. */

View File

@ -16,7 +16,6 @@ import io.opentelemetry.sdk.extensions.trace.testbed.TestUtils;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.sdk.trace.data.SpanData.Event;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.StatusCanonicalCode;
import io.opentelemetry.trace.Tracer;
@ -47,7 +46,7 @@ public final class ErrorReportingTest {
span.end();
}
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
assertThat(spans).hasSize(1);
@ -98,7 +97,7 @@ public final class ErrorReportingTest {
span.setStatus(StatusCanonicalCode.ERROR); // Could not fetch anything.
span.end();
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
List<SpanData> spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems();
assertThat(spans).hasSize(1);

View File

@ -12,7 +12,6 @@ import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.sdk.extensions.trace.testbed.TestUtils;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Tracer;
import java.util.List;
@ -51,7 +50,7 @@ public final class LateSpanFinishTest {
TestUtils.assertSameTrace(spans);
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
/*

View File

@ -10,7 +10,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Span.Kind;
import io.opentelemetry.trace.Tracer;
import java.util.List;
@ -33,6 +33,6 @@ class ListenerTest {
assertThat(finished).hasSize(1);
assertThat(finished.get(0).getKind()).isEqualTo(Kind.CLIENT);
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
}

View File

@ -14,7 +14,6 @@ import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.sdk.extensions.trace.testbed.TestUtils;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Tracer;
import java.util.List;
@ -64,6 +63,6 @@ class MultipleCallbacksTest {
assertThat(spans.get(i).getParentSpanId()).isEqualTo(parentSpan.getSpanId());
}
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
}

View File

@ -16,7 +16,6 @@ import io.opentelemetry.exporters.inmemory.InMemoryTracing;
import io.opentelemetry.sdk.extensions.trace.testbed.TestUtils;
import io.opentelemetry.sdk.trace.TracerSdkProvider;
import io.opentelemetry.sdk.trace.data.SpanData;
import io.opentelemetry.trace.DefaultSpan;
import io.opentelemetry.trace.Span;
import io.opentelemetry.trace.Tracer;
import java.util.List;
@ -54,7 +53,7 @@ public final class NestedCallbacksTest {
assertThat(attrs.get(stringKey("key" + i))).isEqualTo(Integer.toString(i));
}
assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid());
assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid());
}
private void submitCallbacks(final Span span) {