Remove DefaultSpan from public API. (#1791)
* Cleanup * Fix comment * isValid not valid
This commit is contained in:
parent
0ceff17dfa
commit
2d0f91b538
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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()) {
|
||||
|
|
|
|||
|
|
@ -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 =
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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. */
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue