From dae27aa65adc3c79851a79a3f0a98037699f45c5 Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Wed, 14 Oct 2020 11:24:20 +0900 Subject: [PATCH 1/3] Cleanup --- .../HttpTraceContextInjectBenchmark.java | 4 +- .../io/opentelemetry/trace/DefaultTracer.java | 4 +- .../{DefaultSpan.java => PropagatedSpan.java} | 29 ++----------- .../java/io/opentelemetry/trace/Span.java | 29 +++++++++++++ .../java/io/opentelemetry/trace/Tracer.java | 3 +- .../trace/TracingContextUtils.java | 2 +- .../trace/propagation/HttpTraceContext.java | 4 +- .../trace/DefaultTracerTest.java | 31 +++++++------- ...tSpanTest.java => PropagatedSpanTest.java} | 9 ++-- .../opentelemetry/trace/SpanBuilderTest.java | 8 ++-- .../trace/TracingContextUtilsTest.java | 10 ++--- .../propagation/HttpTraceContextTest.java | 4 +- .../PropagatorContextInjectBenchmark.java | 4 +- .../trace/propagation/AwsXRayPropagator.java | 3 +- .../B3PropagatorExtractorMultipleHeaders.java | 4 +- .../B3PropagatorExtractorSingleHeader.java | 4 +- .../trace/propagation/JaegerPropagator.java | 4 +- .../trace/propagation/OtTracerPropagator.java | 4 +- .../propagation/AwsXRayPropagatorTest.java | 4 +- .../trace/propagation/B3PropagatorTest.java | 4 +- .../propagation/JaegerPropagatorTest.java | 4 +- .../propagation/OtTracerPropagatorTest.java | 4 +- .../propagation/TraceMultiPropagatorTest.java | 3 +- .../trace/CurrentSpanUtilsTest.java | 41 +++++++++---------- .../opentracingshim/Propagation.java | 3 +- .../opentracingshim/ScopeManagerShim.java | 6 +-- .../opentracingshim/SpanBuilderShim.java | 4 +- .../opentracingshim/TracerShimTest.java | 5 +-- .../OpenTelemetryInteroperabilityTest.java | 6 +-- .../sdk/trace/SpanBuilderSdk.java | 3 +- .../sdk/trace/SpanBuilderSdkTest.java | 10 ++--- .../sdk/trace/TracerSdkProviderTest.java | 3 +- .../sdk/trace/TracerSdkTest.java | 17 ++++---- .../ActiveSpanReplacementTest.java | 3 +- .../ActorPropagationTest.java | 5 +-- .../clientserver/TestClientServerTest.java | 4 +- .../HandlerTest.java | 3 +- .../errorreporting/ErrorReportingTest.java | 5 +-- .../latespanfinish/LateSpanFinishTest.java | 3 +- .../listenerperrequest/ListenerTest.java | 4 +- .../MultipleCallbacksTest.java | 3 +- .../nestedcallbacks/NestedCallbacksTest.java | 3 +- 42 files changed, 149 insertions(+), 161 deletions(-) rename api/src/main/java/io/opentelemetry/trace/{DefaultSpan.java => PropagatedSpan.java} (71%) rename api/src/test/java/io/opentelemetry/trace/{DefaultSpanTest.java => PropagatedSpanTest.java} (91%) diff --git a/api/src/jmh/java/io/opentelemetry/trace/propagation/HttpTraceContextInjectBenchmark.java b/api/src/jmh/java/io/opentelemetry/trace/propagation/HttpTraceContextInjectBenchmark.java index 63169d339df..0c14d5c477a 100644 --- a/api/src/jmh/java/io/opentelemetry/trace/propagation/HttpTraceContextInjectBenchmark.java +++ b/api/src/jmh/java/io/opentelemetry/trace/propagation/HttpTraceContextInjectBenchmark.java @@ -7,7 +7,7 @@ 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 @@ private static SpanContext createTestSpanContext(String traceId, String spanId) private static List createContexts(List spanContexts) { List contexts = new ArrayList<>(); for (SpanContext context : spanContexts) { - contexts.add(TracingContextUtils.withSpan(DefaultSpan.create(context), Context.root())); + contexts.add(TracingContextUtils.withSpan(Span.getPropagated(context), Context.root())); } return contexts; } diff --git a/api/src/main/java/io/opentelemetry/trace/DefaultTracer.java b/api/src/main/java/io/opentelemetry/trace/DefaultTracer.java index 84e8f44dd6b..56031a04bf8 100644 --- a/api/src/main/java/io/opentelemetry/trace/DefaultTracer.java +++ b/api/src/main/java/io/opentelemetry/trace/DefaultTracer.java @@ -64,9 +64,7 @@ public Span startSpan() { spanContext = TracingContextUtils.getCurrentSpan().getContext(); } - return spanContext != null && !SpanContext.getInvalid().equals(spanContext) - ? new DefaultSpan(spanContext) - : DefaultSpan.getInvalid(); + return Span.getPropagated(spanContext); } @Override diff --git a/api/src/main/java/io/opentelemetry/trace/DefaultSpan.java b/api/src/main/java/io/opentelemetry/trace/PropagatedSpan.java similarity index 71% rename from api/src/main/java/io/opentelemetry/trace/DefaultSpan.java rename to api/src/main/java/io/opentelemetry/trace/PropagatedSpan.java index 7a4baae77d3..b260891b747 100644 --- a/api/src/main/java/io/opentelemetry/trace/DefaultSpan.java +++ b/api/src/main/java/io/opentelemetry/trace/PropagatedSpan.java @@ -13,39 +13,16 @@ * 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. * - *

Used also to stop tracing, see {@link Tracer#withSpan}. - * * @since 0.1.0 */ @Immutable -public final class DefaultSpan 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}. - * @since 0.1.0 - */ - public static Span getInvalid() { - return INVALID; - } +final class PropagatedSpan implements Span { - /** - * Creates an instance of this class with the {@link SpanContext}. - * - * @param spanContext the {@code SpanContext}. - * @return a {@link DefaultSpan}. - * @since 0.1.0 - */ - 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; } diff --git a/api/src/main/java/io/opentelemetry/trace/Span.java b/api/src/main/java/io/opentelemetry/trace/Span.java index 18ad8b09138..e1f5d265be8 100644 --- a/api/src/main/java/io/opentelemetry/trace/Span.java +++ b/api/src/main/java/io/opentelemetry/trace/Span.java @@ -23,6 +23,26 @@ @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 getPropagated(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. @@ -304,6 +324,15 @@ default void setAttribute(AttributeKey key, int value) { */ boolean isRecording(); + /** + * Returns whether this {@link Span} is valid. + * + * @see Span#getInvalid() + */ + default boolean isValid() { + return getContext().isValid(); + } + /** * {@link Builder} is used to construct {@link Span} instances which define arbitrary scopes of * code that are sampled for distributed tracing as a single atomic unit. diff --git a/api/src/main/java/io/opentelemetry/trace/Tracer.java b/api/src/main/java/io/opentelemetry/trace/Tracer.java index bbdc088a8d0..43b5bd8e966 100644 --- a/api/src/main/java/io/opentelemetry/trace/Tracer.java +++ b/api/src/main/java/io/opentelemetry/trace/Tracer.java @@ -81,7 +81,8 @@ public interface Tracer { * *

Supports try-with-resource idiom. * - *

Can be called with {@link DefaultSpan} to enter a scope of code where tracing is stopped. + *

Can be called with {@code Span.wrapWithNoOp(span.getContext())} to enter a scope of code + * where tracing is stopped. * *

Example of usage: * diff --git a/api/src/main/java/io/opentelemetry/trace/TracingContextUtils.java b/api/src/main/java/io/opentelemetry/trace/TracingContextUtils.java index e197dd3915e..b2b6ceff8b7 100644 --- a/api/src/main/java/io/opentelemetry/trace/TracingContextUtils.java +++ b/api/src/main/java/io/opentelemetry/trace/TracingContextUtils.java @@ -54,7 +54,7 @@ public static Span getCurrentSpan() { */ 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; } /** diff --git a/api/src/main/java/io/opentelemetry/trace/propagation/HttpTraceContext.java b/api/src/main/java/io/opentelemetry/trace/propagation/HttpTraceContext.java index 1a725e99cfc..4a0ab174ffd 100644 --- a/api/src/main/java/io/opentelemetry/trace/propagation/HttpTraceContext.java +++ b/api/src/main/java/io/opentelemetry/trace/propagation/HttpTraceContext.java @@ -10,7 +10,7 @@ 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 void inject(Context context, C carrier, Setter setter) { return context; } - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } private static SpanContext extractImpl(C carrier, Getter getter) { diff --git a/api/src/test/java/io/opentelemetry/trace/DefaultTracerTest.java b/api/src/test/java/io/opentelemetry/trace/DefaultTracerTest.java index 6b31805d60f..eeeb65f63a2 100644 --- a/api/src/test/java/io/opentelemetry/trace/DefaultTracerTest.java +++ b/api/src/test/java/io/opentelemetry/trace/DefaultTracerTest.java @@ -31,16 +31,16 @@ class DefaultTracerTest { @Test void defaultGetCurrentSpan() { - assertThat(defaultTracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(defaultTracer.getCurrentSpan().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().isValid()).isFalse(); + try (Scope ws = defaultTracer.withSpan(Span.getInvalid())) { + assertThat(defaultTracer.getCurrentSpan().isValid()).isFalse(); } - assertThat(defaultTracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(defaultTracer.getCurrentSpan().isValid()).isFalse(); } @Test @@ -50,7 +50,7 @@ void spanBuilderWithName_NullName() { @Test void defaultSpanBuilderWithName() { - assertThat(defaultTracer.spanBuilder(SPAN_NAME).startSpan()).isInstanceOf(DefaultSpan.class); + assertThat(defaultTracer.spanBuilder(SPAN_NAME).startSpan().isValid()).isFalse(); } @Test @@ -65,7 +65,7 @@ void testInProcessContext() { assertThat(defaultTracer.getCurrentSpan()).isEqualTo(span); } } - assertThat(defaultTracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(defaultTracer.getCurrentSpan().isValid()).isFalse(); } @Test @@ -74,14 +74,14 @@ void testSpanContextPropagationExplicitParent() { defaultTracer .spanBuilder(SPAN_NAME) .setParent( - TracingContextUtils.withSpan(DefaultSpan.create(spanContext), Context.root())) + TracingContextUtils.withSpan(Span.getPropagated(spanContext), Context.root())) .startSpan(); assertThat(span.getContext()).isSameAs(spanContext); } @Test void testSpanContextPropagation() { - DefaultSpan parent = new DefaultSpan(spanContext); + Span parent = Span.getPropagated(spanContext); Span span = defaultTracer @@ -106,7 +106,8 @@ void testSpanContextPropagation_nullContext() { @Test void testSpanContextPropagation_fromContext() { - Context context = TracingContextUtils.withSpan(new DefaultSpan(spanContext), Context.current()); + Context context = + TracingContextUtils.withSpan(Span.getPropagated(spanContext), Context.current()); Span span = defaultTracer.spanBuilder(SPAN_NAME).setParent(context).startSpan(); assertThat(span.getContext()).isSameAs(spanContext); @@ -114,7 +115,8 @@ void testSpanContextPropagation_fromContext() { @Test void testSpanContextPropagation_fromContextAfterNoParent() { - Context context = TracingContextUtils.withSpan(new DefaultSpan(spanContext), Context.current()); + Context context = + TracingContextUtils.withSpan(Span.getPropagated(spanContext), Context.current()); Span span = defaultTracer.spanBuilder(SPAN_NAME).setNoParent().setParent(context).startSpan(); assertThat(span.getContext()).isSameAs(spanContext); @@ -122,7 +124,8 @@ void testSpanContextPropagation_fromContextAfterNoParent() { @Test void testSpanContextPropagation_fromContextThenNoParent() { - Context context = TracingContextUtils.withSpan(new DefaultSpan(spanContext), Context.current()); + Context context = + TracingContextUtils.withSpan(Span.getPropagated(spanContext), Context.current()); Span span = defaultTracer.spanBuilder(SPAN_NAME).setParent(context).setNoParent().startSpan(); assertThat(span.getContext()).isEqualTo(SpanContext.getInvalid()); @@ -130,7 +133,7 @@ void testSpanContextPropagation_fromContextThenNoParent() { @Test void testSpanContextPropagationCurrentSpan() { - DefaultSpan parent = new DefaultSpan(spanContext); + Span parent = Span.getPropagated(spanContext); try (Scope scope = defaultTracer.withSpan(parent)) { Span span = defaultTracer.spanBuilder(SPAN_NAME).startSpan(); assertThat(span.getContext()).isSameAs(spanContext); @@ -140,7 +143,7 @@ void testSpanContextPropagationCurrentSpan() { @Test void testSpanContextPropagationCurrentSpanContext() { Context context = - TracingContextUtils.withSpan(DefaultSpan.create(spanContext), Context.current()); + TracingContextUtils.withSpan(Span.getPropagated(spanContext), Context.current()); try (Scope scope = context.makeCurrent()) { Span span = defaultTracer.spanBuilder(SPAN_NAME).startSpan(); assertThat(span.getContext()).isSameAs(spanContext); diff --git a/api/src/test/java/io/opentelemetry/trace/DefaultSpanTest.java b/api/src/test/java/io/opentelemetry/trace/PropagatedSpanTest.java similarity index 91% rename from api/src/test/java/io/opentelemetry/trace/DefaultSpanTest.java rename to api/src/test/java/io/opentelemetry/trace/PropagatedSpanTest.java index 17203520c98..25206561156 100644 --- a/api/src/test/java/io/opentelemetry/trace/DefaultSpanTest.java +++ b/api/src/test/java/io/opentelemetry/trace/PropagatedSpanTest.java @@ -17,19 +17,18 @@ 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 @@ void doNotCrash() { @Test void defaultSpan_ToString() { - Span span = DefaultSpan.getInvalid(); + Span span = Span.getInvalid(); assertThat(span.toString()).isEqualTo("DefaultSpan"); } } diff --git a/api/src/test/java/io/opentelemetry/trace/SpanBuilderTest.java b/api/src/test/java/io/opentelemetry/trace/SpanBuilderTest.java index 7671f5ae8d2..520d33dcf3c 100644 --- a/api/src/test/java/io/opentelemetry/trace/SpanBuilderTest.java +++ b/api/src/test/java/io/opentelemetry/trace/SpanBuilderTest.java @@ -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.getPropagated(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().isValid()).isFalse(); } @Test diff --git a/api/src/test/java/io/opentelemetry/trace/TracingContextUtilsTest.java b/api/src/test/java/io/opentelemetry/trace/TracingContextUtilsTest.java index b44561ffbc9..687cabff268 100644 --- a/api/src/test/java/io/opentelemetry/trace/TracingContextUtilsTest.java +++ b/api/src/test/java/io/opentelemetry/trace/TracingContextUtilsTest.java @@ -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.getPropagated(SpanContext.getInvalid()); try (Scope ignored = TracingContextUtils.withSpan(span, Context.current()).makeCurrent()) { assertThat(TracingContextUtils.getCurrentSpan()).isSameAs(span); } @@ -30,12 +30,12 @@ void testGetCurrentSpan_SetSpan() { @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.getPropagated(SpanContext.getInvalid()); Context context = TracingContextUtils.withSpan(span, Context.current()); assertThat(TracingContextUtils.getSpan(context)).isSameAs(span); } @@ -48,7 +48,7 @@ void testGetSpanWithoutDefault_DefaultContext() { @Test void testGetSpanWithoutDefault_ExplicitContext() { - Span span = DefaultSpan.create(SpanContext.getInvalid()); + Span span = Span.getPropagated(SpanContext.getInvalid()); Context context = TracingContextUtils.withSpan(span, Context.current()); assertThat(TracingContextUtils.getSpanWithoutDefault(context)).isSameAs(span); } diff --git a/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java b/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java index 47ca8bae4f7..f6de219b871 100644 --- a/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java +++ b/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java @@ -13,7 +13,7 @@ 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 @@ private static SpanContext getSpanContext(Context context) { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } @Test diff --git a/extensions/trace_propagators/src/jmh/java/io/opentelemetry/extensions/trace/propagation/PropagatorContextInjectBenchmark.java b/extensions/trace_propagators/src/jmh/java/io/opentelemetry/extensions/trace/propagation/PropagatorContextInjectBenchmark.java index c591a2361b8..66b90cbf7a8 100644 --- a/extensions/trace_propagators/src/jmh/java/io/opentelemetry/extensions/trace/propagation/PropagatorContextInjectBenchmark.java +++ b/extensions/trace_propagators/src/jmh/java/io/opentelemetry/extensions/trace/propagation/PropagatorContextInjectBenchmark.java @@ -7,7 +7,7 @@ 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; @@ -63,7 +63,7 @@ public abstract static class AbstractContextInjectBenchmark { @Fork(1) public Map measureInject() { Context context = - TracingContextUtils.withSpan(DefaultSpan.create(contextToTest), Context.current()); + TracingContextUtils.withSpan(Span.getPropagated(contextToTest), Context.current()); doInject(context, carrier); return carrier; } diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java index bff169da186..3b1b1bcacc3 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java @@ -7,7 +7,6 @@ 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 Context extract(Context context, C carrier, Getter getter) { return context; } - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } private static SpanContext getSpanContextFromHeader(C carrier, Getter getter) { diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorMultipleHeaders.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorMultipleHeaders.java index 501a168150c..12bc60e8ab2 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorMultipleHeaders.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorMultipleHeaders.java @@ -11,7 +11,7 @@ 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 @@ public Optional extract( return Optional.empty(); } - return Optional.of(TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context)); + return Optional.of(TracingContextUtils.withSpan(Span.getPropagated(spanContext), context)); } private static SpanContext getSpanContextFromMultipleHeaders( diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorSingleHeader.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorSingleHeader.java index 6b593636d7d..5a2bf813c63 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorSingleHeader.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorSingleHeader.java @@ -10,7 +10,7 @@ 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 @@ public Optional extract( return Optional.empty(); } - return Optional.of(TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context)); + return Optional.of(TracingContextUtils.withSpan(Span.getPropagated(spanContext), context)); } @SuppressWarnings("StringSplitter") diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagator.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagator.java index bb47fe1c169..ba8a00c77f3 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagator.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagator.java @@ -7,7 +7,7 @@ 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 Context extract(Context context, C carrier, Getter getter) { return context; } - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } @SuppressWarnings("StringSplitter") diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagator.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagator.java index 50baa75095d..9b934ca4310 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagator.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagator.java @@ -9,7 +9,7 @@ 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 Context extract(Context context, C carrier, Getter getter) { if (!spanContext.isValid()) { return context; } - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } static SpanContext buildSpanContext(String traceId, String spanId, String sampled) { diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagatorTest.java index 6d7cbe6a884..a277b917a03 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagatorTest.java @@ -10,7 +10,7 @@ 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 @@ void extract_InvalidFlags_NonNumeric() { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } private static SpanContext getSpanContext(Context context) { diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorTest.java index 89e425e0d1f..133f427f050 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorTest.java @@ -10,7 +10,7 @@ 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 @@ private static SpanContext getSpanContext(Context context) { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } @Test diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagatorTest.java index 3f9731a1469..b079713a850 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagatorTest.java @@ -15,7 +15,7 @@ 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 @@ private static SpanContext getSpanContext(Context context) { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } @Test diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagatorTest.java index 2286dccfc58..41766410429 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagatorTest.java @@ -10,7 +10,7 @@ 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 @@ private static SpanContext getSpanContext(Context context) { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(DefaultSpan.create(spanContext), context); + return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); } @Test diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/TraceMultiPropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/TraceMultiPropagatorTest.java index d6e7226fe62..716dfaf8610 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/TraceMultiPropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/TraceMultiPropagatorTest.java @@ -14,7 +14,6 @@ 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.getPropagated( SpanContext.createFromRemoteParent( TraceId.fromLongs(1245, 67890), SpanId.fromLong(12345), diff --git a/extensions/trace_utils/src/test/java/io/opentelemetry/extensions/trace/CurrentSpanUtilsTest.java b/extensions/trace_utils/src/test/java/io/opentelemetry/extensions/trace/CurrentSpanUtilsTest.java index 10c5e23286c..aa9d21c7324 100644 --- a/extensions/trace_utils/src/test/java/io/opentelemetry/extensions/trace/CurrentSpanUtilsTest.java +++ b/extensions/trace_utils/src/test/java/io/opentelemetry/extensions/trace/CurrentSpanUtilsTest.java @@ -9,7 +9,6 @@ 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 @@ private void executeCallableAndExpectError(Callable callable, Throwable @Test void withSpanRunnable() { - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Runnable runnable = () -> { // When we run the runnable we will have the span in the current Context. @@ -62,12 +61,12 @@ void withSpanRunnable() { }; CurrentSpanUtils.withSpan(span, false, runnable).run(); verifyNoInteractions(span); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanRunnable_EndSpan() { - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Runnable runnable = () -> { // When we run the runnable we will have the span in the current Context. @@ -75,13 +74,13 @@ void withSpanRunnable_EndSpan() { }; CurrentSpanUtils.withSpan(span, true, runnable).run(); verify(span).end(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanRunnable_WithError() { final AssertionError error = new AssertionError("MyError"); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Runnable runnable = () -> { // When we run the runnable we will have the span in the current Context. @@ -91,13 +90,13 @@ void withSpanRunnable_WithError() { executeRunnableAndExpectError(runnable, error); verify(span).setStatus(StatusCanonicalCode.ERROR, "MyError"); verify(span).end(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanRunnable_WithErrorNoMessage() { final AssertionError error = new AssertionError(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Runnable runnable = () -> { // When we run the runnable we will have the span in the current Context. @@ -107,13 +106,13 @@ void withSpanRunnable_WithErrorNoMessage() { executeRunnableAndExpectError(runnable, error); verify(span).setStatus(StatusCanonicalCode.ERROR, "AssertionError"); verify(span).end(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanCallable() throws Exception { final Object ret = new Object(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -122,13 +121,13 @@ void withSpanCallable() throws Exception { }; assertThat(CurrentSpanUtils.withSpan(span, false, callable).call()).isEqualTo(ret); verifyNoInteractions(span); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanCallable_EndSpan() throws Exception { final Object ret = new Object(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -137,13 +136,13 @@ void withSpanCallable_EndSpan() throws Exception { }; assertThat(CurrentSpanUtils.withSpan(span, true, callable).call()).isEqualTo(ret); verify(span).end(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanCallable_WithException() { final Exception exception = new Exception("MyException"); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -153,13 +152,13 @@ void withSpanCallable_WithException() { executeCallableAndExpectError(callable, exception); verify(span).setStatus(StatusCanonicalCode.ERROR, "MyException"); verify(span).end(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanCallable_WithExceptionNoMessage() { final Exception exception = new Exception(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -169,13 +168,13 @@ void withSpanCallable_WithExceptionNoMessage() { executeCallableAndExpectError(callable, exception); verify(span).setStatus(StatusCanonicalCode.ERROR, "Exception"); verify(span).end(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanCallable_WithError() { final AssertionError error = new AssertionError("MyError"); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -185,13 +184,13 @@ void withSpanCallable_WithError() { executeCallableAndExpectError(callable, error); verify(span).setStatus(StatusCanonicalCode.ERROR, "MyError"); verify(span).end(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } @Test void withSpanCallable_WithErrorNoMessage() { final AssertionError error = new AssertionError(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -201,7 +200,7 @@ void withSpanCallable_WithErrorNoMessage() { executeCallableAndExpectError(callable, error); verify(span).setStatus(StatusCanonicalCode.ERROR, "AssertionError"); verify(span).end(); - assertThat(getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(getCurrentSpan().isValid()).isFalse(); } private static Span getCurrentSpan() { diff --git a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/Propagation.java b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/Propagation.java index 8a95ef8b338..e62ff2b9b86 100644 --- a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/Propagation.java +++ b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/Propagation.java @@ -8,7 +8,6 @@ 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; @@ -25,7 +24,7 @@ final class Propagation extends BaseShimObject { public void injectTextMap(SpanContextShim contextShim, TextMapInject carrier) { Context context = TracingContextUtils.withSpan( - DefaultSpan.create(contextShim.getSpanContext()), Context.current()); + Span.getPropagated(contextShim.getSpanContext()), Context.current()); context = BaggageUtils.withBaggage(contextShim.getBaggage(), context); propagators().getTextMapPropagator().inject(context, carrier, TextMapSetter.INSTANCE); diff --git a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/ScopeManagerShim.java b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/ScopeManagerShim.java index 24d3c12ab80..24025557bf4 100644 --- a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/ScopeManagerShim.java +++ b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/ScopeManagerShim.java @@ -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 @@ public ScopeManagerShim(TelemetryInfo telemetryInfo) { @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.isValid()) { return null; } diff --git a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/SpanBuilderShim.java b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/SpanBuilderShim.java index c8fcb0adec5..48abeee2fb2 100644 --- a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/SpanBuilderShim.java +++ b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/SpanBuilderShim.java @@ -13,7 +13,6 @@ 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 @@ public Span start() { } else if (parentSpanContext != null) { builder.setParent( TracingContextUtils.withSpan( - DefaultSpan.create(parentSpanContext.getSpanContext()), Context.root())); + io.opentelemetry.trace.Span.getPropagated(parentSpanContext.getSpanContext()), + Context.root())); baggage = parentSpanContext.getBaggage(); } diff --git a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java index 7c55060ed64..88288ea3b29 100644 --- a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java +++ b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java @@ -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 @@ void close() { tracerShim.close(); Span otSpan = tracerShim.buildSpan(null).start(); io.opentelemetry.trace.Span span = ((SpanShim) otSpan).getSpan(); - assertTrue(span instanceof DefaultSpan); + assertThat(span.isValid()).isFalse(); } } diff --git a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/testbed/OpenTelemetryInteroperabilityTest.java b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/testbed/OpenTelemetryInteroperabilityTest.java index 64c487200bf..820566103a1 100644 --- a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/testbed/OpenTelemetryInteroperabilityTest.java +++ b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/testbed/OpenTelemetryInteroperabilityTest.java @@ -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.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 @@ void sdkContinuesOpenTracingTrace() { } finally { otSpan.finish(); } - assertEquals(tracer.getCurrentSpan().getClass(), DefaultSpan.class); + assertThat(tracer.getCurrentSpan().isValid()).isFalse(); assertNull(otTracer.activeSpan()); List finishedSpans = inMemoryTracing.getSpanExporter().getFinishedSpanItems(); @@ -62,7 +62,7 @@ void openTracingContinuesSdkTrace() { otelSpan.end(); } - assertEquals(tracer.getCurrentSpan().getClass(), DefaultSpan.class); + assertThat(tracer.getCurrentSpan().isValid()).isFalse(); assertNull(otTracer.activeSpan()); List finishedSpans = inMemoryTracing.getSpanExporter().getFinishedSpanItems(); diff --git a/sdk/tracing/src/main/java/io/opentelemetry/sdk/trace/SpanBuilderSdk.java b/sdk/tracing/src/main/java/io/opentelemetry/sdk/trace/SpanBuilderSdk.java index 1ae8fe4e43b..8111153296e 100644 --- a/sdk/tracing/src/main/java/io/opentelemetry/sdk/trace/SpanBuilderSdk.java +++ b/sdk/tracing/src/main/java/io/opentelemetry/sdk/trace/SpanBuilderSdk.java @@ -24,7 +24,6 @@ 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 @@ public Span startSpan() { traceId, spanId, samplingResultTraceState, Samplers.isSampled(samplingDecision)); if (!Samplers.isRecording(samplingDecision)) { - return DefaultSpan.create(spanContext); + return Span.getPropagated(spanContext); } ReadableAttributes samplingAttributes = samplingResult.getAttributes(); if (!samplingAttributes.isEmpty()) { diff --git a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/SpanBuilderSdkTest.java b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/SpanBuilderSdkTest.java index 6f5905e1c97..f74d11eed66 100644 --- a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/SpanBuilderSdkTest.java +++ b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/SpanBuilderSdkTest.java @@ -26,7 +26,6 @@ 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; @@ -71,8 +70,8 @@ void setParent_null() { 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 { @@ -178,8 +177,7 @@ void addLinkSpanContextAttributes_nullContext() { 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 @@ -762,7 +760,7 @@ void parentCurrentSpan() { @Test void parent_invalidContext() { - Span parent = DefaultSpan.getInvalid(); + Span parent = Span.getInvalid(); RecordEventsReadableSpan span = (RecordEventsReadableSpan) diff --git a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkProviderTest.java b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkProviderTest.java index 6ff6f672fb1..4dd38791377 100644 --- a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkProviderTest.java +++ b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkProviderTest.java @@ -15,7 +15,6 @@ 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 @@ void shutdownTwice_OnlyFlushSpanProcessorOnce() { void returnNoopSpanAfterShutdown() { tracerFactory.shutdown(); Span span = tracerFactory.get("noop").spanBuilder("span").startSpan(); - assertThat(span).isInstanceOf(DefaultSpan.class); + assertThat(span.isValid()).isFalse(); span.end(); } } diff --git a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkTest.java b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkTest.java index 188d3cf295d..c6a9232bcae 100644 --- a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkTest.java +++ b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkTest.java @@ -15,7 +15,6 @@ 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 @@ void setUp() { @Test void defaultGetCurrentSpan() { - assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(tracer.getCurrentSpan().isValid()).isFalse(); } @Test @@ -62,30 +61,30 @@ void defaultSpanBuilder() { @Test void getCurrentSpan() { - assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(tracer.getCurrentSpan().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().isValid()).isFalse(); } @Test void withSpan_NullSpan() { - assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(tracer.getCurrentSpan().isValid()).isFalse(); try (Scope ignored = tracer.withSpan(null)) { - assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(tracer.getCurrentSpan().isValid()).isFalse(); } - assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(tracer.getCurrentSpan().isValid()).isFalse(); } @Test void getCurrentSpan_WithSpan() { - assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(tracer.getCurrentSpan().isValid()).isFalse(); try (Scope ignored = tracer.withSpan(span)) { assertThat(tracer.getCurrentSpan()).isSameAs(span); } - assertThat(tracer.getCurrentSpan()).isInstanceOf(DefaultSpan.class); + assertThat(tracer.getCurrentSpan().isValid()).isFalse(); } @Test diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/activespanreplacement/ActiveSpanReplacementTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/activespanreplacement/ActiveSpanReplacementTest.java index 2b6b2f2814a..8d8a85151a9 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/activespanreplacement/ActiveSpanReplacementTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/activespanreplacement/ActiveSpanReplacementTest.java @@ -15,7 +15,6 @@ 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 @@ void test() { 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) { diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/actorpropagation/ActorPropagationTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/actorpropagation/ActorPropagationTest.java index d87a21ab504..d3169276409 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/actorpropagation/ActorPropagationTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/actorpropagation/ActorPropagationTest.java @@ -12,7 +12,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.trace.DefaultSpan; import io.opentelemetry.trace.Span; import io.opentelemetry.trace.Span.Kind; import io.opentelemetry.trace.Tracer; @@ -73,7 +72,7 @@ void testActorTell() { 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 @@ void testActorAsk() throws ExecutionException, InterruptedException { 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()); } } } diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/clientserver/TestClientServerTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/clientserver/TestClientServerTest.java index bd6698e06af..244035856c0 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/clientserver/TestClientServerTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/clientserver/TestClientServerTest.java @@ -14,7 +14,7 @@ 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 @@ void test() throws Exception { 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()); } } diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/concurrentcommonrequesthandler/HandlerTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/concurrentcommonrequesthandler/HandlerTest.java index adc954bfbbc..9a14470c2f6 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/concurrentcommonrequesthandler/HandlerTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/concurrentcommonrequesthandler/HandlerTest.java @@ -13,7 +13,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.trace.DefaultSpan; import io.opentelemetry.trace.Span; import io.opentelemetry.trace.SpanId; import io.opentelemetry.trace.Tracer; @@ -61,7 +60,7 @@ void two_requests() throws Exception { 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. */ diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/errorreporting/ErrorReportingTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/errorreporting/ErrorReportingTest.java index 3a63f836059..141155a038f 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/errorreporting/ErrorReportingTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/errorreporting/ErrorReportingTest.java @@ -16,7 +16,6 @@ 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 @@ void testSimpleError() { span.end(); } - assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid()); + assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid()); List spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems(); assertThat(spans).hasSize(1); @@ -98,7 +97,7 @@ void testErrorRecovery() { span.setStatus(StatusCanonicalCode.ERROR); // Could not fetch anything. span.end(); - assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid()); + assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid()); List spans = inMemoryTracing.getSpanExporter().getFinishedSpanItems(); assertThat(spans).hasSize(1); diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/latespanfinish/LateSpanFinishTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/latespanfinish/LateSpanFinishTest.java index 51b40d32667..d1c97111314 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/latespanfinish/LateSpanFinishTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/latespanfinish/LateSpanFinishTest.java @@ -12,7 +12,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.trace.DefaultSpan; import io.opentelemetry.trace.Span; import io.opentelemetry.trace.Tracer; import java.util.List; @@ -51,7 +50,7 @@ void test() throws Exception { TestUtils.assertSameTrace(spans); - assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid()); + assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid()); } /* diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/listenerperrequest/ListenerTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/listenerperrequest/ListenerTest.java index e39e7b748c7..1362a6f797d 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/listenerperrequest/ListenerTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/listenerperrequest/ListenerTest.java @@ -10,7 +10,7 @@ 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 @@ void test() throws Exception { assertThat(finished).hasSize(1); assertThat(finished.get(0).getKind()).isEqualTo(Kind.CLIENT); - assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid()); + assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid()); } } diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/multiplecallbacks/MultipleCallbacksTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/multiplecallbacks/MultipleCallbacksTest.java index 40f90461998..519ac19cd09 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/multiplecallbacks/MultipleCallbacksTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/multiplecallbacks/MultipleCallbacksTest.java @@ -14,7 +14,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.trace.DefaultSpan; import io.opentelemetry.trace.Span; import io.opentelemetry.trace.Tracer; import java.util.List; @@ -64,6 +63,6 @@ void test() { assertThat(spans.get(i).getParentSpanId()).isEqualTo(parentSpan.getSpanId()); } - assertThat(tracer.getCurrentSpan()).isSameAs(DefaultSpan.getInvalid()); + assertThat(tracer.getCurrentSpan()).isSameAs(Span.getInvalid()); } } diff --git a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/nestedcallbacks/NestedCallbacksTest.java b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/nestedcallbacks/NestedCallbacksTest.java index 1469a06a35c..8303e4a07be 100644 --- a/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/nestedcallbacks/NestedCallbacksTest.java +++ b/sdk_extensions/testbed/src/test/java/io/opentelemetry/sdk/extensions/trace/testbed/nestedcallbacks/NestedCallbacksTest.java @@ -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.trace.DefaultSpan; import io.opentelemetry.trace.Span; import io.opentelemetry.trace.Tracer; import java.util.List; @@ -54,7 +53,7 @@ void test() { 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) { From 0ceec41364224421d92885b12381753782b6184a Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Wed, 14 Oct 2020 11:30:55 +0900 Subject: [PATCH 2/3] Fix comment --- api/src/main/java/io/opentelemetry/trace/Tracer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/io/opentelemetry/trace/Tracer.java b/api/src/main/java/io/opentelemetry/trace/Tracer.java index 43b5bd8e966..d3b00db92b4 100644 --- a/api/src/main/java/io/opentelemetry/trace/Tracer.java +++ b/api/src/main/java/io/opentelemetry/trace/Tracer.java @@ -81,7 +81,7 @@ public interface Tracer { * *

Supports try-with-resource idiom. * - *

Can be called with {@code Span.wrapWithNoOp(span.getContext())} to enter a scope of code + *

Can be called with {@code Span.getPropagated(span.getContext())} to enter a scope of code * where tracing is stopped. * *

Example of usage: From 2e6c3d96489e7a198ad8fa0c122e38641483bd2f Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Thu, 15 Oct 2020 08:38:31 +0900 Subject: [PATCH 3/3] isValid not valid --- .../HttpTraceContextInjectBenchmark.java | 2 +- .../io/opentelemetry/trace/DefaultTracer.java | 2 +- .../opentelemetry/trace/PropagatedSpan.java | 1 - .../java/io/opentelemetry/trace/Span.java | 11 +---- .../trace/propagation/HttpTraceContext.java | 2 +- .../trace/DefaultTracerTest.java | 31 ++++++-------- .../opentelemetry/trace/SpanBuilderTest.java | 4 +- .../trace/TracingContextUtilsTest.java | 6 +-- .../propagation/HttpTraceContextTest.java | 2 +- .../PropagatorContextInjectBenchmark.java | 3 +- .../trace/propagation/AwsXRayPropagator.java | 2 +- .../B3PropagatorExtractorMultipleHeaders.java | 2 +- .../B3PropagatorExtractorSingleHeader.java | 2 +- .../trace/propagation/JaegerPropagator.java | 2 +- .../trace/propagation/OtTracerPropagator.java | 2 +- .../propagation/AwsXRayPropagatorTest.java | 2 +- .../trace/propagation/B3PropagatorTest.java | 2 +- .../propagation/JaegerPropagatorTest.java | 2 +- .../propagation/OtTracerPropagatorTest.java | 2 +- .../propagation/TraceMultiPropagatorTest.java | 2 +- .../trace/CurrentSpanUtilsTest.java | 40 +++++++++---------- .../opentracingshim/Propagation.java | 3 +- .../opentracingshim/ScopeManagerShim.java | 2 +- .../opentracingshim/SpanBuilderShim.java | 2 +- .../opentracingshim/TracerShimTest.java | 2 +- .../OpenTelemetryInteroperabilityTest.java | 4 +- .../sdk/trace/SpanBuilderSdk.java | 2 +- .../sdk/trace/TracerSdkProviderTest.java | 2 +- .../sdk/trace/TracerSdkTest.java | 16 ++++---- 29 files changed, 70 insertions(+), 87 deletions(-) diff --git a/api/src/jmh/java/io/opentelemetry/trace/propagation/HttpTraceContextInjectBenchmark.java b/api/src/jmh/java/io/opentelemetry/trace/propagation/HttpTraceContextInjectBenchmark.java index 0c14d5c477a..2bc8cc69e96 100644 --- a/api/src/jmh/java/io/opentelemetry/trace/propagation/HttpTraceContextInjectBenchmark.java +++ b/api/src/jmh/java/io/opentelemetry/trace/propagation/HttpTraceContextInjectBenchmark.java @@ -75,7 +75,7 @@ private static SpanContext createTestSpanContext(String traceId, String spanId) private static List createContexts(List spanContexts) { List contexts = new ArrayList<>(); for (SpanContext context : spanContexts) { - contexts.add(TracingContextUtils.withSpan(Span.getPropagated(context), Context.root())); + contexts.add(TracingContextUtils.withSpan(Span.wrap(context), Context.root())); } return contexts; } diff --git a/api/src/main/java/io/opentelemetry/trace/DefaultTracer.java b/api/src/main/java/io/opentelemetry/trace/DefaultTracer.java index 3ee0862e623..04e6b7a5f5a 100644 --- a/api/src/main/java/io/opentelemetry/trace/DefaultTracer.java +++ b/api/src/main/java/io/opentelemetry/trace/DefaultTracer.java @@ -59,7 +59,7 @@ public Span startSpan() { spanContext = TracingContextUtils.getCurrentSpan().getContext(); } - return Span.getPropagated(spanContext); + return Span.wrap(spanContext); } @Override diff --git a/api/src/main/java/io/opentelemetry/trace/PropagatedSpan.java b/api/src/main/java/io/opentelemetry/trace/PropagatedSpan.java index a102bbf53cd..bdbb25d5b48 100644 --- a/api/src/main/java/io/opentelemetry/trace/PropagatedSpan.java +++ b/api/src/main/java/io/opentelemetry/trace/PropagatedSpan.java @@ -12,7 +12,6 @@ /** * 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. - * */ @Immutable final class PropagatedSpan implements Span { diff --git a/api/src/main/java/io/opentelemetry/trace/Span.java b/api/src/main/java/io/opentelemetry/trace/Span.java index 4cf1a797d39..fa3540f9cf1 100644 --- a/api/src/main/java/io/opentelemetry/trace/Span.java +++ b/api/src/main/java/io/opentelemetry/trace/Span.java @@ -34,7 +34,7 @@ static Span getInvalid() { * 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 getPropagated(SpanContext spanContext) { + static Span wrap(SpanContext spanContext) { if (spanContext == null || !spanContext.isValid()) { return getInvalid(); } @@ -286,15 +286,6 @@ default void setAttribute(AttributeKey key, int value) { */ boolean isRecording(); - /** - * Returns whether this {@link Span} is valid. - * - * @see Span#getInvalid() - */ - default boolean isValid() { - return getContext().isValid(); - } - /** * {@link Builder} is used to construct {@link Span} instances which define arbitrary scopes of * code that are sampled for distributed tracing as a single atomic unit. diff --git a/api/src/main/java/io/opentelemetry/trace/propagation/HttpTraceContext.java b/api/src/main/java/io/opentelemetry/trace/propagation/HttpTraceContext.java index 4a0ab174ffd..d05757c5219 100644 --- a/api/src/main/java/io/opentelemetry/trace/propagation/HttpTraceContext.java +++ b/api/src/main/java/io/opentelemetry/trace/propagation/HttpTraceContext.java @@ -149,7 +149,7 @@ public void inject(Context context, C carrier, Setter setter) { return context; } - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } private static SpanContext extractImpl(C carrier, Getter getter) { diff --git a/api/src/test/java/io/opentelemetry/trace/DefaultTracerTest.java b/api/src/test/java/io/opentelemetry/trace/DefaultTracerTest.java index eeeb65f63a2..52a74c8a3d9 100644 --- a/api/src/test/java/io/opentelemetry/trace/DefaultTracerTest.java +++ b/api/src/test/java/io/opentelemetry/trace/DefaultTracerTest.java @@ -31,16 +31,16 @@ class DefaultTracerTest { @Test void defaultGetCurrentSpan() { - assertThat(defaultTracer.getCurrentSpan().isValid()).isFalse(); + assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse(); } @Test void getCurrentSpan_WithSpan() { - assertThat(defaultTracer.getCurrentSpan().isValid()).isFalse(); + assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse(); try (Scope ws = defaultTracer.withSpan(Span.getInvalid())) { - assertThat(defaultTracer.getCurrentSpan().isValid()).isFalse(); + assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse(); } - assertThat(defaultTracer.getCurrentSpan().isValid()).isFalse(); + assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse(); } @Test @@ -50,7 +50,7 @@ void spanBuilderWithName_NullName() { @Test void defaultSpanBuilderWithName() { - assertThat(defaultTracer.spanBuilder(SPAN_NAME).startSpan().isValid()).isFalse(); + assertThat(defaultTracer.spanBuilder(SPAN_NAME).startSpan().getContext().isValid()).isFalse(); } @Test @@ -65,7 +65,7 @@ void testInProcessContext() { assertThat(defaultTracer.getCurrentSpan()).isEqualTo(span); } } - assertThat(defaultTracer.getCurrentSpan().isValid()).isFalse(); + assertThat(defaultTracer.getCurrentSpan().getContext().isValid()).isFalse(); } @Test @@ -73,15 +73,14 @@ void testSpanContextPropagationExplicitParent() { Span span = defaultTracer .spanBuilder(SPAN_NAME) - .setParent( - TracingContextUtils.withSpan(Span.getPropagated(spanContext), Context.root())) + .setParent(TracingContextUtils.withSpan(Span.wrap(spanContext), Context.root())) .startSpan(); assertThat(span.getContext()).isSameAs(spanContext); } @Test void testSpanContextPropagation() { - Span parent = Span.getPropagated(spanContext); + Span parent = Span.wrap(spanContext); Span span = defaultTracer @@ -106,8 +105,7 @@ void testSpanContextPropagation_nullContext() { @Test void testSpanContextPropagation_fromContext() { - Context context = - TracingContextUtils.withSpan(Span.getPropagated(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); @@ -115,8 +113,7 @@ void testSpanContextPropagation_fromContext() { @Test void testSpanContextPropagation_fromContextAfterNoParent() { - Context context = - TracingContextUtils.withSpan(Span.getPropagated(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); @@ -124,8 +121,7 @@ void testSpanContextPropagation_fromContextAfterNoParent() { @Test void testSpanContextPropagation_fromContextThenNoParent() { - Context context = - TracingContextUtils.withSpan(Span.getPropagated(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()); @@ -133,7 +129,7 @@ void testSpanContextPropagation_fromContextThenNoParent() { @Test void testSpanContextPropagationCurrentSpan() { - Span parent = Span.getPropagated(spanContext); + Span parent = Span.wrap(spanContext); try (Scope scope = defaultTracer.withSpan(parent)) { Span span = defaultTracer.spanBuilder(SPAN_NAME).startSpan(); assertThat(span.getContext()).isSameAs(spanContext); @@ -142,8 +138,7 @@ void testSpanContextPropagationCurrentSpan() { @Test void testSpanContextPropagationCurrentSpanContext() { - Context context = - TracingContextUtils.withSpan(Span.getPropagated(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); diff --git a/api/src/test/java/io/opentelemetry/trace/SpanBuilderTest.java b/api/src/test/java/io/opentelemetry/trace/SpanBuilderTest.java index 520d33dcf3c..f4009302f41 100644 --- a/api/src/test/java/io/opentelemetry/trace/SpanBuilderTest.java +++ b/api/src/test/java/io/opentelemetry/trace/SpanBuilderTest.java @@ -22,7 +22,7 @@ class SpanBuilderTest { void doNotCrash_NoopImplementation() { Span.Builder spanBuilder = tracer.spanBuilder("MySpanName"); spanBuilder.setSpanKind(Kind.SERVER); - spanBuilder.setParent(TracingContextUtils.withSpan(Span.getPropagated(null), Context.root())); + spanBuilder.setParent(TracingContextUtils.withSpan(Span.wrap(null), Context.root())); spanBuilder.setParent(Context.root()); spanBuilder.setNoParent(); spanBuilder.addLink(Span.getInvalid().getContext()); @@ -33,7 +33,7 @@ void doNotCrash_NoopImplementation() { spanBuilder.setAttribute("key", true); spanBuilder.setAttribute(stringKey("key"), "value"); spanBuilder.setStartTimestamp(12345L); - assertThat(spanBuilder.startSpan().isValid()).isFalse(); + assertThat(spanBuilder.startSpan().getContext().isValid()).isFalse(); } @Test diff --git a/api/src/test/java/io/opentelemetry/trace/TracingContextUtilsTest.java b/api/src/test/java/io/opentelemetry/trace/TracingContextUtilsTest.java index 687cabff268..b67f295bfa3 100644 --- a/api/src/test/java/io/opentelemetry/trace/TracingContextUtilsTest.java +++ b/api/src/test/java/io/opentelemetry/trace/TracingContextUtilsTest.java @@ -21,7 +21,7 @@ void testGetCurrentSpan_Default() { @Test void testGetCurrentSpan_SetSpan() { - Span span = Span.getPropagated(SpanContext.getInvalid()); + Span span = Span.wrap(SpanContext.getInvalid()); try (Scope ignored = TracingContextUtils.withSpan(span, Context.current()).makeCurrent()) { assertThat(TracingContextUtils.getCurrentSpan()).isSameAs(span); } @@ -35,7 +35,7 @@ void testGetSpan_DefaultContext() { @Test void testGetSpan_ExplicitContext() { - Span span = Span.getPropagated(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 @@ void testGetSpanWithoutDefault_DefaultContext() { @Test void testGetSpanWithoutDefault_ExplicitContext() { - Span span = Span.getPropagated(SpanContext.getInvalid()); + Span span = Span.wrap(SpanContext.getInvalid()); Context context = TracingContextUtils.withSpan(span, Context.current()); assertThat(TracingContextUtils.getSpanWithoutDefault(context)).isSameAs(span); } diff --git a/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java b/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java index f6de219b871..4c2f5a2f9d5 100644 --- a/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java +++ b/api/src/test/java/io/opentelemetry/trace/propagation/HttpTraceContextTest.java @@ -52,7 +52,7 @@ private static SpanContext getSpanContext(Context context) { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } @Test diff --git a/extensions/trace_propagators/src/jmh/java/io/opentelemetry/extensions/trace/propagation/PropagatorContextInjectBenchmark.java b/extensions/trace_propagators/src/jmh/java/io/opentelemetry/extensions/trace/propagation/PropagatorContextInjectBenchmark.java index 66b90cbf7a8..7431a43ce5b 100644 --- a/extensions/trace_propagators/src/jmh/java/io/opentelemetry/extensions/trace/propagation/PropagatorContextInjectBenchmark.java +++ b/extensions/trace_propagators/src/jmh/java/io/opentelemetry/extensions/trace/propagation/PropagatorContextInjectBenchmark.java @@ -62,8 +62,7 @@ public abstract static class AbstractContextInjectBenchmark { @BenchmarkMode(Mode.AverageTime) @Fork(1) public Map measureInject() { - Context context = - TracingContextUtils.withSpan(Span.getPropagated(contextToTest), Context.current()); + Context context = TracingContextUtils.withSpan(Span.wrap(contextToTest), Context.current()); doInject(context, carrier); return carrier; } diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java index 3b1b1bcacc3..7ca3a61f331 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagator.java @@ -127,7 +127,7 @@ public Context extract(Context context, C carrier, Getter getter) { return context; } - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } private static SpanContext getSpanContextFromHeader(C carrier, Getter getter) { diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorMultipleHeaders.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorMultipleHeaders.java index 12bc60e8ab2..8a83305637f 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorMultipleHeaders.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorMultipleHeaders.java @@ -34,7 +34,7 @@ public Optional extract( return Optional.empty(); } - return Optional.of(TracingContextUtils.withSpan(Span.getPropagated(spanContext), context)); + return Optional.of(TracingContextUtils.withSpan(Span.wrap(spanContext), context)); } private static SpanContext getSpanContextFromMultipleHeaders( diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorSingleHeader.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorSingleHeader.java index 5a2bf813c63..286eeb3ada0 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorSingleHeader.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorExtractorSingleHeader.java @@ -33,7 +33,7 @@ public Optional extract( return Optional.empty(); } - return Optional.of(TracingContextUtils.withSpan(Span.getPropagated(spanContext), context)); + return Optional.of(TracingContextUtils.withSpan(Span.wrap(spanContext), context)); } @SuppressWarnings("StringSplitter") diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagator.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagator.java index ba8a00c77f3..1248f545952 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagator.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagator.java @@ -118,7 +118,7 @@ public Context extract(Context context, C carrier, Getter getter) { return context; } - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } @SuppressWarnings("StringSplitter") diff --git a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagator.java b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagator.java index 9b934ca4310..2283c017cb5 100644 --- a/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagator.java +++ b/extensions/trace_propagators/src/main/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagator.java @@ -79,7 +79,7 @@ public Context extract(Context context, C carrier, Getter getter) { if (!spanContext.isValid()) { return context; } - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } static SpanContext buildSpanContext(String traceId, String spanId, String sampled) { diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagatorTest.java index a277b917a03..8f0912cc340 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/AwsXRayPropagatorTest.java @@ -244,7 +244,7 @@ void extract_InvalidFlags_NonNumeric() { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } private static SpanContext getSpanContext(Context context) { diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorTest.java index 133f427f050..50f33071347 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/B3PropagatorTest.java @@ -54,7 +54,7 @@ private static SpanContext getSpanContext(Context context) { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } @Test diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagatorTest.java index b079713a850..2c2e2b88cb7 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/JaegerPropagatorTest.java @@ -64,7 +64,7 @@ private static SpanContext getSpanContext(Context context) { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } @Test diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagatorTest.java index 41766410429..363a0f743d4 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/OtTracerPropagatorTest.java @@ -40,7 +40,7 @@ private static SpanContext getSpanContext(Context context) { } private static Context withSpanContext(SpanContext spanContext, Context context) { - return TracingContextUtils.withSpan(Span.getPropagated(spanContext), context); + return TracingContextUtils.withSpan(Span.wrap(spanContext), context); } @Test diff --git a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/TraceMultiPropagatorTest.java b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/TraceMultiPropagatorTest.java index 716dfaf8610..fc2b984efd5 100644 --- a/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/TraceMultiPropagatorTest.java +++ b/extensions/trace_propagators/src/test/java/io/opentelemetry/extensions/trace/propagation/TraceMultiPropagatorTest.java @@ -37,7 +37,7 @@ class TraceMultiPropagatorTest { private static final TextMapPropagator PROPAGATOR3 = HttpTraceContext.getInstance(); private static final Span SPAN = - Span.getPropagated( + Span.wrap( SpanContext.createFromRemoteParent( TraceId.fromLongs(1245, 67890), SpanId.fromLong(12345), diff --git a/extensions/trace_utils/src/test/java/io/opentelemetry/extensions/trace/CurrentSpanUtilsTest.java b/extensions/trace_utils/src/test/java/io/opentelemetry/extensions/trace/CurrentSpanUtilsTest.java index aa9d21c7324..166b92b0b1a 100644 --- a/extensions/trace_utils/src/test/java/io/opentelemetry/extensions/trace/CurrentSpanUtilsTest.java +++ b/extensions/trace_utils/src/test/java/io/opentelemetry/extensions/trace/CurrentSpanUtilsTest.java @@ -53,7 +53,7 @@ private void executeCallableAndExpectError(Callable callable, Throwable @Test void withSpanRunnable() { - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Runnable runnable = () -> { // When we run the runnable we will have the span in the current Context. @@ -61,12 +61,12 @@ void withSpanRunnable() { }; CurrentSpanUtils.withSpan(span, false, runnable).run(); verifyNoInteractions(span); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanRunnable_EndSpan() { - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Runnable runnable = () -> { // When we run the runnable we will have the span in the current Context. @@ -74,13 +74,13 @@ void withSpanRunnable_EndSpan() { }; CurrentSpanUtils.withSpan(span, true, runnable).run(); verify(span).end(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanRunnable_WithError() { final AssertionError error = new AssertionError("MyError"); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Runnable runnable = () -> { // When we run the runnable we will have the span in the current Context. @@ -90,13 +90,13 @@ void withSpanRunnable_WithError() { executeRunnableAndExpectError(runnable, error); verify(span).setStatus(StatusCanonicalCode.ERROR, "MyError"); verify(span).end(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanRunnable_WithErrorNoMessage() { final AssertionError error = new AssertionError(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Runnable runnable = () -> { // When we run the runnable we will have the span in the current Context. @@ -106,13 +106,13 @@ void withSpanRunnable_WithErrorNoMessage() { executeRunnableAndExpectError(runnable, error); verify(span).setStatus(StatusCanonicalCode.ERROR, "AssertionError"); verify(span).end(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanCallable() throws Exception { final Object ret = new Object(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -121,13 +121,13 @@ void withSpanCallable() throws Exception { }; assertThat(CurrentSpanUtils.withSpan(span, false, callable).call()).isEqualTo(ret); verifyNoInteractions(span); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanCallable_EndSpan() throws Exception { final Object ret = new Object(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -136,13 +136,13 @@ void withSpanCallable_EndSpan() throws Exception { }; assertThat(CurrentSpanUtils.withSpan(span, true, callable).call()).isEqualTo(ret); verify(span).end(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanCallable_WithException() { final Exception exception = new Exception("MyException"); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -152,13 +152,13 @@ void withSpanCallable_WithException() { executeCallableAndExpectError(callable, exception); verify(span).setStatus(StatusCanonicalCode.ERROR, "MyException"); verify(span).end(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanCallable_WithExceptionNoMessage() { final Exception exception = new Exception(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -168,13 +168,13 @@ void withSpanCallable_WithExceptionNoMessage() { executeCallableAndExpectError(callable, exception); verify(span).setStatus(StatusCanonicalCode.ERROR, "Exception"); verify(span).end(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanCallable_WithError() { final AssertionError error = new AssertionError("MyError"); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -184,13 +184,13 @@ void withSpanCallable_WithError() { executeCallableAndExpectError(callable, error); verify(span).setStatus(StatusCanonicalCode.ERROR, "MyError"); verify(span).end(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpanCallable_WithErrorNoMessage() { final AssertionError error = new AssertionError(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); Callable callable = () -> { // When we run the runnable we will have the span in the current Context. @@ -200,7 +200,7 @@ void withSpanCallable_WithErrorNoMessage() { executeCallableAndExpectError(callable, error); verify(span).setStatus(StatusCanonicalCode.ERROR, "AssertionError"); verify(span).end(); - assertThat(getCurrentSpan().isValid()).isFalse(); + assertThat(getCurrentSpan().getContext().isValid()).isFalse(); } private static Span getCurrentSpan() { diff --git a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/Propagation.java b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/Propagation.java index e62ff2b9b86..c2b3ae4cff2 100644 --- a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/Propagation.java +++ b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/Propagation.java @@ -23,8 +23,7 @@ final class Propagation extends BaseShimObject { public void injectTextMap(SpanContextShim contextShim, TextMapInject carrier) { Context context = - TracingContextUtils.withSpan( - Span.getPropagated(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); diff --git a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/ScopeManagerShim.java b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/ScopeManagerShim.java index 24025557bf4..c4b976d3070 100644 --- a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/ScopeManagerShim.java +++ b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/ScopeManagerShim.java @@ -21,7 +21,7 @@ public Span activeSpan() { // As OpenTracing simply returns null when no active instance is available, // we need to do map an invalid OpenTelemetry span to null here. io.opentelemetry.trace.Span span = tracer().getCurrentSpan(); - if (!span.isValid()) { + if (!span.getContext().isValid()) { return null; } diff --git a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/SpanBuilderShim.java b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/SpanBuilderShim.java index 48abeee2fb2..1eb0f0b774c 100644 --- a/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/SpanBuilderShim.java +++ b/opentracing_shim/src/main/java/io/opentelemetry/opentracingshim/SpanBuilderShim.java @@ -189,7 +189,7 @@ public Span start() { } else if (parentSpanContext != null) { builder.setParent( TracingContextUtils.withSpan( - io.opentelemetry.trace.Span.getPropagated(parentSpanContext.getSpanContext()), + io.opentelemetry.trace.Span.wrap(parentSpanContext.getSpanContext()), Context.root())); baggage = parentSpanContext.getBaggage(); } diff --git a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java index 88288ea3b29..69ac3bb0096 100644 --- a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java +++ b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java @@ -81,6 +81,6 @@ void close() { tracerShim.close(); Span otSpan = tracerShim.buildSpan(null).start(); io.opentelemetry.trace.Span span = ((SpanShim) otSpan).getSpan(); - assertThat(span.isValid()).isFalse(); + assertThat(span.getContext().isValid()).isFalse(); } } diff --git a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/testbed/OpenTelemetryInteroperabilityTest.java b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/testbed/OpenTelemetryInteroperabilityTest.java index 820566103a1..9a66728f162 100644 --- a/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/testbed/OpenTelemetryInteroperabilityTest.java +++ b/opentracing_shim/src/test/java/io/opentelemetry/opentracingshim/testbed/OpenTelemetryInteroperabilityTest.java @@ -45,7 +45,7 @@ void sdkContinuesOpenTracingTrace() { } finally { otSpan.finish(); } - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); assertNull(otTracer.activeSpan()); List finishedSpans = inMemoryTracing.getSpanExporter().getFinishedSpanItems(); @@ -62,7 +62,7 @@ void openTracingContinuesSdkTrace() { otelSpan.end(); } - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); assertNull(otTracer.activeSpan()); List finishedSpans = inMemoryTracing.getSpanExporter().getFinishedSpanItems(); diff --git a/sdk/tracing/src/main/java/io/opentelemetry/sdk/trace/SpanBuilderSdk.java b/sdk/tracing/src/main/java/io/opentelemetry/sdk/trace/SpanBuilderSdk.java index f0bbabd92e0..4ab1cc3d41c 100644 --- a/sdk/tracing/src/main/java/io/opentelemetry/sdk/trace/SpanBuilderSdk.java +++ b/sdk/tracing/src/main/java/io/opentelemetry/sdk/trace/SpanBuilderSdk.java @@ -211,7 +211,7 @@ public Span startSpan() { traceId, spanId, samplingResultTraceState, Samplers.isSampled(samplingDecision)); if (!Samplers.isRecording(samplingDecision)) { - return Span.getPropagated(spanContext); + return Span.wrap(spanContext); } ReadableAttributes samplingAttributes = samplingResult.getAttributes(); if (!samplingAttributes.isEmpty()) { diff --git a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkProviderTest.java b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkProviderTest.java index 4dd38791377..a17a905b526 100644 --- a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkProviderTest.java +++ b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkProviderTest.java @@ -130,7 +130,7 @@ void shutdownTwice_OnlyFlushSpanProcessorOnce() { void returnNoopSpanAfterShutdown() { tracerFactory.shutdown(); Span span = tracerFactory.get("noop").spanBuilder("span").startSpan(); - assertThat(span.isValid()).isFalse(); + assertThat(span.getContext().isValid()).isFalse(); span.end(); } } diff --git a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkTest.java b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkTest.java index 434e45551dc..4662a87d685 100644 --- a/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkTest.java +++ b/sdk/tracing/src/test/java/io/opentelemetry/sdk/trace/TracerSdkTest.java @@ -51,7 +51,7 @@ void setUp() { @Test void defaultGetCurrentSpan() { - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); } @Test @@ -61,30 +61,30 @@ void defaultSpanBuilder() { @Test void getCurrentSpan() { - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + 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().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); } @Test void withSpan_NullSpan() { - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); try (Scope ignored = tracer.withSpan(null)) { - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); } - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); } @Test void getCurrentSpan_WithSpan() { - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); try (Scope ignored = tracer.withSpan(span)) { assertThat(tracer.getCurrentSpan()).isSameAs(span); } - assertThat(tracer.getCurrentSpan().isValid()).isFalse(); + assertThat(tracer.getCurrentSpan().getContext().isValid()).isFalse(); } @Test