diff --git a/docs/apidiffs/current_vs_latest/opentelemetry-opentracing-shim.txt b/docs/apidiffs/current_vs_latest/opentelemetry-opentracing-shim.txt index f7b6cc9ce58..8e625407771 100644 --- a/docs/apidiffs/current_vs_latest/opentelemetry-opentracing-shim.txt +++ b/docs/apidiffs/current_vs_latest/opentelemetry-opentracing-shim.txt @@ -1,2 +1,8 @@ Comparing source compatibility of opentelemetry-opentracing-shim-1.62.0-SNAPSHOT.jar against opentelemetry-opentracing-shim-1.61.0.jar -No changes. \ No newline at end of file +=== UNCHANGED CLASS: PUBLIC FINAL io.opentelemetry.opentracingshim.OpenTracingShim (not serializable) + === CLASS FILE FORMAT VERSION: 52.0 <- 52.0 + === UNCHANGED METHOD: PUBLIC STATIC io.opentracing.Tracer createTracerShim(io.opentelemetry.api.OpenTelemetry) + +++ NEW ANNOTATION: java.lang.Deprecated + === UNCHANGED METHOD: PUBLIC STATIC io.opentracing.Tracer createTracerShim(io.opentelemetry.api.trace.TracerProvider, io.opentelemetry.context.propagation.TextMapPropagator, io.opentelemetry.context.propagation.TextMapPropagator) + +++ NEW ANNOTATION: java.lang.Deprecated + +++ NEW ANNOTATION: java.lang.Deprecated diff --git a/integration-tests/graal-incubating/build.gradle.kts b/integration-tests/graal-incubating/build.gradle.kts index b0a2a29b416..8b5c5f49ed6 100644 --- a/integration-tests/graal-incubating/build.gradle.kts +++ b/integration-tests/graal-incubating/build.gradle.kts @@ -1,4 +1,5 @@ import org.gradle.api.JavaVersion +import org.gradle.api.tasks.testing.Test plugins { id("otel.java-conventions") @@ -45,3 +46,9 @@ graalvmNative { enabled.set(false) } } + +tasks.named("test") { + notCompatibleWithConfigurationCache( + "GraalVM native test agent options are not serializable for this task.", + ) +} diff --git a/opentracing-shim/README.md b/opentracing-shim/README.md index 55e01814828..79548280b76 100644 --- a/opentracing-shim/README.md +++ b/opentracing-shim/README.md @@ -1,5 +1,10 @@ # OpenTelemetry - OpenTracing Shim +> [!WARNING] +> OpenTracing is deprecated, and this shim is deprecated accordingly. It remains available for +> legacy compatibility, but users should migrate to the OpenTelemetry API directly. See the +> [OpenTelemetry specification guidance on OpenTracing compatibility](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/compatibility/opentracing.md#opentracing-compatibility). + The OpenTracing shim is a bridge layer from OpenTelemetry to the OpenTracing API. It takes OpenTelemetry Tracer and exposes it as an implementation of an OpenTracing Tracer. diff --git a/opentracing-shim/src/main/java/io/opentelemetry/opentracingshim/OpenTracingShim.java b/opentracing-shim/src/main/java/io/opentelemetry/opentracingshim/OpenTracingShim.java index 8fcf5aec207..df7b846f62c 100644 --- a/opentracing-shim/src/main/java/io/opentelemetry/opentracingshim/OpenTracingShim.java +++ b/opentracing-shim/src/main/java/io/opentelemetry/opentracingshim/OpenTracingShim.java @@ -15,7 +15,11 @@ * OpenTelemetry APIs. * * @since 1.26.0 + * @deprecated OpenTracing is deprecated in the OpenTelemetry specification. This shim is deprecated + * accordingly and is expected to stop being published sometime in 2027 per spec guidance. + * Prefer migrating to the OpenTelemetry API directly. */ +@Deprecated public final class OpenTracingShim { private OpenTracingShim() {} @@ -26,7 +30,9 @@ private OpenTracingShim() {} * * @param openTelemetry the {@code OpenTelemetry} instance used to create this shim. * @return a {@code io.opentracing.Tracer}. + * @deprecated OpenTracing is deprecated. Prefer migrating to the OpenTelemetry API directly. */ + @Deprecated public static Tracer createTracerShim(OpenTelemetry openTelemetry) { TextMapPropagator propagator = openTelemetry.getPropagators().getTextMapPropagator(); return createTracerShim(openTelemetry.getTracerProvider(), propagator, propagator); @@ -42,7 +48,9 @@ public static Tracer createTracerShim(OpenTelemetry openTelemetry) { * @param httpPropagator the propagator used for {@link * io.opentracing.propagation.Format.Builtin#HTTP_HEADERS} format. * @return a {@code io.opentracing.Tracer}. + * @deprecated OpenTracing is deprecated. Prefer migrating to the OpenTelemetry API directly. */ + @Deprecated public static Tracer createTracerShim( TracerProvider provider, TextMapPropagator textMapPropagator, diff --git a/opentracing-shim/src/main/java/io/opentelemetry/opentracingshim/package-info.java b/opentracing-shim/src/main/java/io/opentelemetry/opentracingshim/package-info.java index 53177c39a6b..d935461444f 100644 --- a/opentracing-shim/src/main/java/io/opentelemetry/opentracingshim/package-info.java +++ b/opentracing-shim/src/main/java/io/opentelemetry/opentracingshim/package-info.java @@ -4,8 +4,11 @@ */ /** - * An OpenTracing implementation that delegates to the OpenTelemetry SDK. Use {@link - * io.opentelemetry.opentracingshim.OpenTracingShim} to create tracers using this implementation. + * Legacy OpenTracing compatibility built on top of OpenTelemetry. + * + *

OpenTracing is deprecated in the OpenTelemetry specification, and this shim is deprecated + * accordingly. Use {@link io.opentelemetry.opentracingshim.OpenTracingShim} only for legacy + * compatibility while migrating to the OpenTelemetry API. */ @ParametersAreNonnullByDefault package io.opentelemetry.opentracingshim; diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/OpenTracingShimTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/OpenTracingShimTest.java index cfe4a066bbd..895867aeb2f 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/OpenTracingShimTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/OpenTracingShimTest.java @@ -20,6 +20,7 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +@SuppressWarnings("deprecation") // testing deprecated shim API class OpenTracingShimTest { @AfterEach 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 987123ca266..be8e004166d 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/TracerShimTest.java @@ -40,6 +40,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; +@SuppressWarnings("deprecation") // testing deprecated shim API class TracerShimTest { static final io.opentelemetry.api.trace.Span INVALID_SPAN = 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 9b233349a0a..47fdb93046b 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 @@ -17,6 +17,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; +@SuppressWarnings("deprecation") // testing deprecated shim API class OpenTelemetryInteroperabilityTest { @RegisterExtension diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/activespanreplacement/ActiveSpanReplacementTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/activespanreplacement/ActiveSpanReplacementTest.java index bbc6a9d0601..bb3378f2e60 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/activespanreplacement/ActiveSpanReplacementTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/activespanreplacement/ActiveSpanReplacementTest.java @@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -@SuppressWarnings("FutureReturnValueIgnored") +@SuppressWarnings({"FutureReturnValueIgnored", "deprecation"}) class ActiveSpanReplacementTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/actorpropagation/ActorPropagationTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/actorpropagation/ActorPropagationTest.java index a1da520d58f..d865f705352 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/actorpropagation/ActorPropagationTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/actorpropagation/ActorPropagationTest.java @@ -29,7 +29,7 @@ *

For improved readability, ignore the phaser lines as those are there to ensure deterministic * execution for the tests without sleeps. */ -@SuppressWarnings("FutureReturnValueIgnored") +@SuppressWarnings({"FutureReturnValueIgnored", "deprecation"}) class ActorPropagationTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/baggagehandling/BaggageHandlingTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/baggagehandling/BaggageHandlingTest.java index 66c024e19fe..e604b9c45e9 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/baggagehandling/BaggageHandlingTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/baggagehandling/BaggageHandlingTest.java @@ -18,6 +18,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; +@SuppressWarnings("deprecation") // testing deprecated shim API public final class BaggageHandlingTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/clientserver/TestClientServerTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/clientserver/TestClientServerTest.java index 4eb8fd9c6db..07565c31479 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/clientserver/TestClientServerTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/clientserver/TestClientServerTest.java @@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; +@SuppressWarnings("deprecation") // testing deprecated shim API class TestClientServerTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/concurrentcommonrequesthandler/HandlerTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/concurrentcommonrequesthandler/HandlerTest.java index 24f4624cc9a..444e094422a 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/concurrentcommonrequesthandler/HandlerTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/concurrentcommonrequesthandler/HandlerTest.java @@ -27,6 +27,7 @@ * executed concurrently in different threads which are reused (common pool). Therefore we cannot * use current active span and activate span. So one issue here is setting correct parent span. */ +@SuppressWarnings("deprecation") // testing deprecated shim API class HandlerTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/errorreporting/ErrorReportingTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/errorreporting/ErrorReportingTest.java index 93ba48e0790..16a3be7a03f 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/errorreporting/ErrorReportingTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/errorreporting/ErrorReportingTest.java @@ -29,7 +29,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -@SuppressWarnings("FutureReturnValueIgnored") +@SuppressWarnings({"FutureReturnValueIgnored", "deprecation"}) public final class ErrorReportingTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/latespanfinish/LateSpanFinishTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/latespanfinish/LateSpanFinishTest.java index c4966d99252..4a531eb4878 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/latespanfinish/LateSpanFinishTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/latespanfinish/LateSpanFinishTest.java @@ -22,7 +22,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -@SuppressWarnings("FutureReturnValueIgnored") +@SuppressWarnings({"FutureReturnValueIgnored", "deprecation"}) public final class LateSpanFinishTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/listenerperrequest/ListenerTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/listenerperrequest/ListenerTest.java index a1834d017fa..bb2c6e1c030 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/listenerperrequest/ListenerTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/listenerperrequest/ListenerTest.java @@ -16,6 +16,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; /** Each request has own instance of ResponseListener. */ +@SuppressWarnings("deprecation") // testing deprecated shim API class ListenerTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/multiplecallbacks/MultipleCallbacksTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/multiplecallbacks/MultipleCallbacksTest.java index 08e43060dd6..2a0e52aff3f 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/multiplecallbacks/MultipleCallbacksTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/multiplecallbacks/MultipleCallbacksTest.java @@ -28,7 +28,7 @@ *

For improved readability, ignore the CountDownLatch lines as those are there to ensure * deterministic execution for the tests without sleeps. */ -@SuppressWarnings("FutureReturnValueIgnored") +@SuppressWarnings({"FutureReturnValueIgnored", "deprecation"}) class MultipleCallbacksTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/nestedcallbacks/NestedCallbacksTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/nestedcallbacks/NestedCallbacksTest.java index af43003b954..b9b15339501 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/nestedcallbacks/NestedCallbacksTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/nestedcallbacks/NestedCallbacksTest.java @@ -25,7 +25,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -@SuppressWarnings("FutureReturnValueIgnored") +@SuppressWarnings({"FutureReturnValueIgnored", "deprecation"}) public final class NestedCallbacksTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/promisepropagation/PromisePropagationTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/promisepropagation/PromisePropagationTest.java index 5a8687a785d..deb5cb1933b 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/promisepropagation/PromisePropagationTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/promisepropagation/PromisePropagationTest.java @@ -32,6 +32,7 @@ *

For improved readability, ignore the phaser lines as those are there to ensure deterministic * execution for the tests without sleeps. */ +@SuppressWarnings("deprecation") // testing deprecated shim API class PromisePropagationTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/statelesscommonrequesthandler/HandlerTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/statelesscommonrequesthandler/HandlerTest.java index 785a6d6285d..b32700b8705 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/statelesscommonrequesthandler/HandlerTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/statelesscommonrequesthandler/HandlerTest.java @@ -21,6 +21,7 @@ * There is only one instance of 'RequestHandler' per 'Client'. Methods of 'RequestHandler' are * executed in the same thread (beforeRequest() and its resulting afterRequest(), that is). */ +@SuppressWarnings("deprecation") // testing deprecated shim API public final class HandlerTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create(); diff --git a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/suspendresumepropagation/SuspendResumePropagationTest.java b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/suspendresumepropagation/SuspendResumePropagationTest.java index 16221ea7bf9..d024e5cc332 100644 --- a/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/suspendresumepropagation/SuspendResumePropagationTest.java +++ b/opentracing-shim/src/test/java/io/opentelemetry/opentracingshim/testbed/suspendresumepropagation/SuspendResumePropagationTest.java @@ -21,6 +21,7 @@ * These tests are intended to simulate the kind of async models that are common in java async * frameworks. */ +@SuppressWarnings("deprecation") // testing deprecated shim API class SuspendResumePropagationTest { @RegisterExtension static final OpenTelemetryExtension otelTesting = OpenTelemetryExtension.create();