This is an automated email from the ASF dual-hosted git repository. pcongiusti pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 219554d7eda2f0bc7399ba5d3962ebd645f929ef Author: Pasquale Congiusti <[email protected]> AuthorDate: Tue Mar 10 10:10:56 2026 +0100 chore(components): deprecate camel-tracing components Closes CAMEL-22479 --- components/camel-observation/pom.xml | 2 +- .../META-INF/services/org/apache/camel/other.properties | 2 +- .../src/generated/resources/observation.json | 2 +- components/camel-observation/src/main/docs/observation.adoc | 7 +++++-- .../camel/observation/MicrometerObservationSpanAdapter.java | 1 + .../camel/observation/MicrometerObservationTracer.java | 7 +++++++ .../observation/CamelMicrometerObservationTestSupport.java | 1 + .../java/org/apache/camel/observation/SpanTestData.java | 1 - .../CamelPropagatingReceiverTracingObservationHandler.java | 2 +- .../CamelPropagatingSenderTracingObservationHandler.java | 2 +- components/camel-opentelemetry/pom.xml | 2 +- .../META-INF/services/org/apache/camel/other.properties | 2 +- .../src/generated/resources/opentelemetry.json | 2 +- .../camel-opentelemetry/src/main/docs/opentelemetry.adoc | 13 ++++--------- .../camel/opentelemetry/OpenTelemetrySpanAdapter.java | 1 + .../org/apache/camel/opentelemetry/OpenTelemetryTracer.java | 3 +++ .../camel/opentelemetry/OpenTelemetryTracingStrategy.java | 1 + .../camel/opentelemetry/CamelOpenTelemetryTestSupport.java | 1 + .../OpenTelemetryTracingStrategyPropagateContextTest.java | 1 + .../opentelemetry/OpenTelemetryTracingStrategyTest.java | 1 + components/camel-tracing/pom.xml | 2 +- .../META-INF/services/org/apache/camel/other.properties | 2 +- .../camel-tracing/src/generated/resources/tracing.json | 2 +- components/camel-tracing/src/main/docs/tracing.adoc | 7 +++++-- .../src/main/java/org/apache/camel/tracing/Tracer.java | 3 +++ .../org/apache/camel/tracing/ActiveSpanManagerTest.java | 1 + 26 files changed, 46 insertions(+), 25 deletions(-) diff --git a/components/camel-observation/pom.xml b/components/camel-observation/pom.xml index 55de978083a9..83c21a453359 100644 --- a/components/camel-observation/pom.xml +++ b/components/camel-observation/pom.xml @@ -29,7 +29,7 @@ <artifactId>camel-observation</artifactId> <packaging>jar</packaging> - <name>Camel :: Micrometer :: Observation</name> + <name>Camel :: Micrometer :: Observation (deprecated)</name> <description>Observability using Micrometer Observation</description> <properties> diff --git a/components/camel-observation/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/components/camel-observation/src/generated/resources/META-INF/services/org/apache/camel/other.properties index 39aab088d263..6eb1cec873f2 100644 --- a/components/camel-observation/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/components/camel-observation/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -3,5 +3,5 @@ name=observation groupId=org.apache.camel artifactId=camel-observation version=4.19.0-SNAPSHOT -projectName=Camel :: Micrometer :: Observation +projectName=Camel :: Micrometer :: Observation (deprecated) projectDescription=Observability using Micrometer Observation diff --git a/components/camel-observation/src/generated/resources/observation.json b/components/camel-observation/src/generated/resources/observation.json index fb65728d9fcb..1054992c7648 100644 --- a/components/camel-observation/src/generated/resources/observation.json +++ b/components/camel-observation/src/generated/resources/observation.json @@ -4,7 +4,7 @@ "name": "observation", "title": "Micrometer Observability", "description": "Observability using Micrometer Observation", - "deprecated": false, + "deprecated": true, "firstVersion": "3.21.0", "label": "monitoring,microservice", "supportLevel": "Stable", diff --git a/components/camel-observation/src/main/docs/observation.adoc b/components/camel-observation/src/main/docs/observation.adoc index 84370ce04878..f67deeb341db 100644 --- a/components/camel-observation/src/main/docs/observation.adoc +++ b/components/camel-observation/src/main/docs/observation.adoc @@ -1,10 +1,11 @@ -= Micrometer Observability Component += Micrometer Observability Component (deprecated) :doctitle: Micrometer Observability :shortname: observation :artifactid: camel-observation :description: Observability using Micrometer Observation :since: 3.21 -:supportlevel: Stable +:supportlevel: Stable-deprecated +:deprecated: *deprecated* :tabs-sync-option: //Manually maintained attributes :camel-spring-boot-name: observation @@ -14,6 +15,8 @@ The Micrometer Observation component is used for performing observability of incoming and outgoing Camel messages using https://micrometer.io/docs/observation[Micrometer Observation]. +NOTE: this component is deprecated since version 4.19.0. Please, use xref:micrometer-observability.adoc[`camel-micrometer-observability`] component instead. + By configuring the `ObservationRegistry` you can add behaviour to your observations such as metrics (e.g., via `Micrometer`) or tracing (e.g., via `OpenTelemetry` or `Brave`) or any custom behaviour. Events are captured for incoming and outgoing messages being sent to/from Camel. diff --git a/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationSpanAdapter.java b/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationSpanAdapter.java index 5cb87f3245b6..9a72fa8e082f 100644 --- a/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationSpanAdapter.java +++ b/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationSpanAdapter.java @@ -26,6 +26,7 @@ import io.micrometer.tracing.handler.TracingObservationHandler.TracingContext; import org.apache.camel.tracing.SpanAdapter; import org.apache.camel.tracing.Tag; +@SuppressWarnings("deprecation") public class MicrometerObservationSpanAdapter implements SpanAdapter { private static final String DEFAULT_EVENT_NAME = "log"; diff --git a/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationTracer.java b/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationTracer.java index 06690fb2f65f..7b7fbf3069a5 100644 --- a/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationTracer.java +++ b/components/camel-observation/src/main/java/org/apache/camel/observation/MicrometerObservationTracer.java @@ -35,10 +35,15 @@ import org.apache.camel.tracing.SpanAdapter; import org.apache.camel.tracing.SpanDecorator; import org.apache.camel.tracing.SpanKind; import org.apache.camel.tracing.decorators.AbstractInternalSpanDecorator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @ManagedResource(description = "MicrometerObservationTracer") +@Deprecated(since = "4.19.0") public class MicrometerObservationTracer extends org.apache.camel.tracing.Tracer { + private static final Logger LOG = LoggerFactory.getLogger(MicrometerObservationTracer.class); + private static final String SPAN_DECORATOR_INTERNAL = "camel.micrometer.abstract-internal"; private static final String CAMEL_CONTEXT_NAME = "camel.component"; @@ -113,6 +118,8 @@ public class MicrometerObservationTracer extends org.apache.camel.tracing.Tracer @Override protected void initTracer() { + LOG.warn("Camel micrometer observability is deprecated and may be removed in future versions. " + + "Please, use camel-micrometer-observability components instead!"); if (tracer == null) { tracer = CamelContextHelper.findSingleByType(getCamelContext(), Tracer.class); } diff --git a/components/camel-observation/src/test/java/org/apache/camel/observation/CamelMicrometerObservationTestSupport.java b/components/camel-observation/src/test/java/org/apache/camel/observation/CamelMicrometerObservationTestSupport.java index 68340dfdfddc..52cea6b52c11 100644 --- a/components/camel-observation/src/test/java/org/apache/camel/observation/CamelMicrometerObservationTestSupport.java +++ b/components/camel-observation/src/test/java/org/apache/camel/observation/CamelMicrometerObservationTestSupport.java @@ -63,6 +63,7 @@ import org.slf4j.LoggerFactory; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +@SuppressWarnings("deprecation") class CamelMicrometerObservationTestSupport extends CamelTestSupport { static final AttributeKey<String> CAMEL_URI_KEY = AttributeKey.stringKey("camel-uri"); diff --git a/components/camel-observation/src/test/java/org/apache/camel/observation/SpanTestData.java b/components/camel-observation/src/test/java/org/apache/camel/observation/SpanTestData.java index aff1d7ea7eed..58b615e8d998 100644 --- a/components/camel-observation/src/test/java/org/apache/camel/observation/SpanTestData.java +++ b/components/camel-observation/src/test/java/org/apache/camel/observation/SpanTestData.java @@ -34,7 +34,6 @@ public class SpanTestData { private List<String> logMessages = new ArrayList<>(); private Map<String, String> tags = new HashMap<>(); private ArrayList<SpanTestData> childs = new ArrayList<>(); - private Map<String, String> baggage = new HashMap<>(); public String getLabel() { return label; diff --git a/components/camel-observation/src/test/java/org/apache/camel/observation/otel/CamelPropagatingReceiverTracingObservationHandler.java b/components/camel-observation/src/test/java/org/apache/camel/observation/otel/CamelPropagatingReceiverTracingObservationHandler.java index 85e3a9c236fd..816438c920b0 100644 --- a/components/camel-observation/src/test/java/org/apache/camel/observation/otel/CamelPropagatingReceiverTracingObservationHandler.java +++ b/components/camel-observation/src/test/java/org/apache/camel/observation/otel/CamelPropagatingReceiverTracingObservationHandler.java @@ -22,7 +22,7 @@ import io.micrometer.tracing.Tracer; import io.micrometer.tracing.handler.PropagatingReceiverTracingObservationHandler; import io.micrometer.tracing.propagation.Propagator; -public class CamelPropagatingReceiverTracingObservationHandler<T extends ReceiverContext> +public class CamelPropagatingReceiverTracingObservationHandler<T extends ReceiverContext<?>> extends PropagatingReceiverTracingObservationHandler<T> { static final String SPAN_DECORATOR_INTERNAL = "camel.micrometer.abstract-internal"; diff --git a/components/camel-observation/src/test/java/org/apache/camel/observation/otel/CamelPropagatingSenderTracingObservationHandler.java b/components/camel-observation/src/test/java/org/apache/camel/observation/otel/CamelPropagatingSenderTracingObservationHandler.java index 43f6dfec9b19..0e90c3f03304 100644 --- a/components/camel-observation/src/test/java/org/apache/camel/observation/otel/CamelPropagatingSenderTracingObservationHandler.java +++ b/components/camel-observation/src/test/java/org/apache/camel/observation/otel/CamelPropagatingSenderTracingObservationHandler.java @@ -23,7 +23,7 @@ import io.micrometer.tracing.handler.PropagatingReceiverTracingObservationHandle import io.micrometer.tracing.handler.PropagatingSenderTracingObservationHandler; import io.micrometer.tracing.propagation.Propagator; -public class CamelPropagatingSenderTracingObservationHandler<T extends SenderContext> +public class CamelPropagatingSenderTracingObservationHandler<T extends SenderContext<?>> extends PropagatingSenderTracingObservationHandler<T> { /** diff --git a/components/camel-opentelemetry/pom.xml b/components/camel-opentelemetry/pom.xml index 5ccc8a64e447..dd414dcfca8e 100644 --- a/components/camel-opentelemetry/pom.xml +++ b/components/camel-opentelemetry/pom.xml @@ -28,7 +28,7 @@ <artifactId>camel-opentelemetry</artifactId> <packaging>jar</packaging> - <name>Camel :: OpenTelemetry</name> + <name>Camel :: OpenTelemetry (deprecated)</name> <description>Distributed tracing using OpenTelemetry</description> <properties> diff --git a/components/camel-opentelemetry/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/components/camel-opentelemetry/src/generated/resources/META-INF/services/org/apache/camel/other.properties index 1a57ff11a5b5..b03bcf1f1971 100644 --- a/components/camel-opentelemetry/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/components/camel-opentelemetry/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -3,5 +3,5 @@ name=opentelemetry groupId=org.apache.camel artifactId=camel-opentelemetry version=4.19.0-SNAPSHOT -projectName=Camel :: OpenTelemetry +projectName=Camel :: OpenTelemetry (deprecated) projectDescription=Distributed tracing using OpenTelemetry diff --git a/components/camel-opentelemetry/src/generated/resources/opentelemetry.json b/components/camel-opentelemetry/src/generated/resources/opentelemetry.json index 4bf7729e3a32..c38b81c49eda 100644 --- a/components/camel-opentelemetry/src/generated/resources/opentelemetry.json +++ b/components/camel-opentelemetry/src/generated/resources/opentelemetry.json @@ -4,7 +4,7 @@ "name": "opentelemetry", "title": "OpenTelemetry", "description": "Distributed tracing using OpenTelemetry", - "deprecated": false, + "deprecated": true, "firstVersion": "3.5.0", "label": "monitoring,microservice", "supportLevel": "Stable", diff --git a/components/camel-opentelemetry/src/main/docs/opentelemetry.adoc b/components/camel-opentelemetry/src/main/docs/opentelemetry.adoc index d830b531266d..1d612348ed25 100644 --- a/components/camel-opentelemetry/src/main/docs/opentelemetry.adoc +++ b/components/camel-opentelemetry/src/main/docs/opentelemetry.adoc @@ -1,10 +1,11 @@ -= OpenTelemetry Component += OpenTelemetry Component (deprecated) :doctitle: OpenTelemetry :shortname: opentelemetry :artifactid: camel-opentelemetry :description: Distributed tracing using OpenTelemetry :since: 3.5 -:supportlevel: Stable +:supportlevel: Stable-deprecated +:deprecated: *deprecated* :tabs-sync-option: //Manually maintained attributes :camel-spring-boot-name: opentelemetry @@ -17,7 +18,7 @@ outgoing Camel messages using https://opentelemetry.io/[OpenTelemetry]. Events (spans) are captured for incoming and outgoing messages being sent to/from Camel. -NOTE: a new OpenTelemetry component `camel-opentelemetry2` is available. Learn more by looking the paragraph at the bottom of this document. +NOTE: this component is deprecated since version 4.19.0. Please, use xref:opentelemetry2.adoc[`camel-opentelemetry2`] component instead. == Configuration @@ -189,9 +190,3 @@ public class MySpanCustomizer implements SpanCustomizer { } } ---- - -== Camel OpenTelemetry2 component - -In version 4.11 we have introduced a new OpenTelemetry component whose goal is to replace `camel-opentelemetry`. While we don't plan to drop the support for `camel-opentelemetry` in the short term, it is plausible that this component will be replaced with the new `camel-opentelemetry2` component when moving to the next major version (ie, Camel 5). - -The new component is based on a more consistent design. There may be slight differences on the traces produced and the available features. We suggest to adopt the new component as soon as possible to benefit the new design and to report any new requirement. diff --git a/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java b/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java index d2961a96098b..78ee81dce954 100644 --- a/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java +++ b/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetrySpanAdapter.java @@ -29,6 +29,7 @@ import org.apache.camel.tracing.SpanAdapter; import org.apache.camel.tracing.Tag; import org.apache.camel.tracing.TagConstants; +@SuppressWarnings("deprecation") public class OpenTelemetrySpanAdapter implements SpanAdapter { private static final String DEFAULT_EVENT_NAME = "log"; diff --git a/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracer.java b/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracer.java index d05cabe2ac40..9ddec7b97530 100644 --- a/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracer.java +++ b/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracer.java @@ -43,6 +43,7 @@ import org.slf4j.LoggerFactory; @JdkService("opentelemetry-tracer") @Configurer @ManagedResource(description = "OpenTelemetryTracer") +@Deprecated(since = "4.19.0") public class OpenTelemetryTracer extends org.apache.camel.tracing.Tracer { private static final Logger LOG = LoggerFactory.getLogger(OpenTelemetryTracer.class); @@ -143,6 +144,8 @@ public class OpenTelemetryTracer extends org.apache.camel.tracing.Tracer { @Override protected void initContextPropagators() { + LOG.warn("Camel Opentelemetry component has been deprecated and may be removed in future versions. " + + "Please, use camel-opentelemetry2 component instead!"); if (contextPropagators == null) { contextPropagators = CamelContextHelper.findSingleByType(getCamelContext(), ContextPropagators.class); } diff --git a/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java b/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java index 2d7f810e6e14..ecde52361ab3 100644 --- a/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java +++ b/components/camel-opentelemetry/src/main/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategy.java @@ -30,6 +30,7 @@ import org.apache.camel.support.processor.DelegateAsyncProcessor; import org.apache.camel.tracing.ActiveSpanManager; import org.apache.camel.tracing.SpanDecorator; +@SuppressWarnings("deprecation") public class OpenTelemetryTracingStrategy implements InterceptStrategy { private static final String UNNAMED = "unnamed"; diff --git a/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/CamelOpenTelemetryTestSupport.java b/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/CamelOpenTelemetryTestSupport.java index 608c5effc0c8..1cde797bbaa1 100644 --- a/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/CamelOpenTelemetryTestSupport.java +++ b/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/CamelOpenTelemetryTestSupport.java @@ -55,6 +55,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; @Tags({ @Tag("not-parallel") }) @SetSystemProperty(key = "io.opentelemetry.context.enableStrictContext", value = "true") +@SuppressWarnings("deprecation") class CamelOpenTelemetryTestSupport extends CamelTestSupport { static final AttributeKey<String> CAMEL_URI_KEY = AttributeKey.stringKey("camel-uri"); static final AttributeKey<String> COMPONENT_KEY = AttributeKey.stringKey("component"); diff --git a/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategyPropagateContextTest.java b/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategyPropagateContextTest.java index 03f70683fc65..7019f7e50b60 100644 --- a/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategyPropagateContextTest.java +++ b/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategyPropagateContextTest.java @@ -118,6 +118,7 @@ public class OpenTelemetryTracingStrategyPropagateContextTest extends CamelOpenT } @Override + @SuppressWarnings("deprecation") protected Function<OpenTelemetryTracer, InterceptStrategy> getTracingStrategy() { return (tracer) -> { OpenTelemetryTracingStrategy strategy = new OpenTelemetryTracingStrategy(tracer); diff --git a/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategyTest.java b/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategyTest.java index aac8c4ab954f..0d1fa75ee72c 100644 --- a/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategyTest.java +++ b/components/camel-opentelemetry/src/test/java/org/apache/camel/opentelemetry/OpenTelemetryTracingStrategyTest.java @@ -88,6 +88,7 @@ class OpenTelemetryTracingStrategyTest extends CamelOpenTelemetryTestSupport { } @Override + @SuppressWarnings("deprecation") protected Function<OpenTelemetryTracer, InterceptStrategy> getTracingStrategy() { return OpenTelemetryTracingStrategy::new; } diff --git a/components/camel-tracing/pom.xml b/components/camel-tracing/pom.xml index 9788c99b939c..3dbe480e5d2c 100644 --- a/components/camel-tracing/pom.xml +++ b/components/camel-tracing/pom.xml @@ -34,7 +34,7 @@ <artifactId>camel-tracing</artifactId> <packaging>jar</packaging> - <name>Camel :: Common Tracing</name> + <name>Camel :: Common Tracing (deprecated)</name> <description>Distributed tracing common interfaces</description> <dependencies> diff --git a/components/camel-tracing/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/components/camel-tracing/src/generated/resources/META-INF/services/org/apache/camel/other.properties index cb34a1e2f6cb..273467747417 100644 --- a/components/camel-tracing/src/generated/resources/META-INF/services/org/apache/camel/other.properties +++ b/components/camel-tracing/src/generated/resources/META-INF/services/org/apache/camel/other.properties @@ -3,5 +3,5 @@ name=tracing groupId=org.apache.camel artifactId=camel-tracing version=4.19.0-SNAPSHOT -projectName=Camel :: Common Tracing +projectName=Camel :: Common Tracing (deprecated) projectDescription=Distributed tracing common interfaces diff --git a/components/camel-tracing/src/generated/resources/tracing.json b/components/camel-tracing/src/generated/resources/tracing.json index 725d30b61afb..22742aac116d 100644 --- a/components/camel-tracing/src/generated/resources/tracing.json +++ b/components/camel-tracing/src/generated/resources/tracing.json @@ -4,7 +4,7 @@ "name": "tracing", "title": "Tracing", "description": "Distributed tracing common interfaces", - "deprecated": false, + "deprecated": true, "firstVersion": "3.5.0", "label": "monitoring,microservice", "supportLevel": "Stable", diff --git a/components/camel-tracing/src/main/docs/tracing.adoc b/components/camel-tracing/src/main/docs/tracing.adoc index 2c57aa10930e..36a4bf6d25cd 100644 --- a/components/camel-tracing/src/main/docs/tracing.adoc +++ b/components/camel-tracing/src/main/docs/tracing.adoc @@ -1,10 +1,11 @@ -= Tracing Component += Tracing Component (deprecated) :doctitle: Tracing :shortname: tracing :artifactid: camel-tracing :description: Distributed tracing common interfaces :since: 3.5 -:supportlevel: Stable +:supportlevel: Stable-deprecated +:deprecated: *deprecated* :tabs-sync-option: *Since Camel {since}* @@ -14,6 +15,8 @@ This module is a common interface and API for distributed tracing. It is not int * xref:opentelemetry.adoc[`camel-opentelemetry`] * xref:observation.adoc[`camel-observation`] +NOTE: this component and the related implementations are deprecated since version 4.19.0. Please, use xref:telemetry.adoc[`camel-telemetry`] components instead. + Tracing an application in a distributed deployment is an important feature supported by Camel. As there are plenty of potential tracing implementation out there we have created an abstract component whose goal is to define the structure and lifecycle of a trace from Camel point of view. This component acts as a trace manager, making sure that regardless of the concrete technology used, the traces are consistently treated by Camel applications. Using any of the concrete implementations above will instrument your Camel application with the tooling required to generate and expose traces to be collected from an external system (typically a trace collector via an agent to be run when executing the application). However, this is hidden to the abstract implementation and must be delegated to the concrete implementation instead. diff --git a/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java b/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java index 855e3e8ac9aa..bb8041e41d9e 100644 --- a/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java +++ b/components/camel-tracing/src/main/java/org/apache/camel/tracing/Tracer.java @@ -47,6 +47,7 @@ import org.apache.camel.util.StringHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@Deprecated(since = "4.19.0") public abstract class Tracer extends ServiceSupport implements CamelTracingService, RoutePolicyFactory, StaticService { protected static final Map<String, SpanDecorator> DECORATORS = new HashMap<>(); static final AutoCloseable NOOP_CLOSEABLE = () -> { @@ -147,6 +148,8 @@ public abstract class Tracer extends ServiceSupport implements CamelTracingServi * Registers this {@link Tracer} on the {@link CamelContext} if not already registered. */ public void init(CamelContext camelContext) { + LOG.warn("Camel tracing and related components have been deprecated and may be removed in future versions. " + + "Please, use camel-telemetry components instead!"); if (hasOtherTracerType(camelContext)) { LOG.warn("Could not add {} tracer type. Another tracer type, {}, was already registered. " + "Make sure to include only one tracing dependency type.", diff --git a/components/camel-tracing/src/test/java/org/apache/camel/tracing/ActiveSpanManagerTest.java b/components/camel-tracing/src/test/java/org/apache/camel/tracing/ActiveSpanManagerTest.java index 46781f6d0efe..ae1af1475ed1 100644 --- a/components/camel-tracing/src/test/java/org/apache/camel/tracing/ActiveSpanManagerTest.java +++ b/components/camel-tracing/src/test/java/org/apache/camel/tracing/ActiveSpanManagerTest.java @@ -103,6 +103,7 @@ class ActiveSpanManagerTest extends ExchangeTestSupport { ActiveSpanManager.activate(path2, parent); } + @SuppressWarnings("deprecation") @Test void testMDCSupport() { Exchange exchange = createExchange();
