This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-4.8.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.8.x by this push: new a60e9b6f419 CAMEL-21622: Adds route id in the span tags (#17363) a60e9b6f419 is described below commit a60e9b6f419961d7b3b0b62cfef7b315fdbc4575 Author: Marco Carletti <mcarl...@redhat.com> AuthorDate: Thu Mar 6 07:33:41 2025 +0100 CAMEL-21622: Adds route id in the span tags (#17363) --- .../src/main/java/org/apache/camel/tracing/TagConstants.java | 1 + .../org/apache/camel/tracing/decorators/AbstractSpanDecorator.java | 5 +++++ .../apache/camel/tracing/decorators/AbstractSpanDecoratorTest.java | 6 +++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/components/camel-tracing/src/main/java/org/apache/camel/tracing/TagConstants.java b/components/camel-tracing/src/main/java/org/apache/camel/tracing/TagConstants.java index d8a0b40a104..bddf41954f4 100644 --- a/components/camel-tracing/src/main/java/org/apache/camel/tracing/TagConstants.java +++ b/components/camel-tracing/src/main/java/org/apache/camel/tracing/TagConstants.java @@ -20,6 +20,7 @@ public class TagConstants { public static final String ERROR = "error"; public static final String COMPONENT = "component"; + public static final String ROUTE_ID = "camel.route.id"; // General attributes public static final String SERVER_ADDRESS = "server.address"; diff --git a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractSpanDecorator.java b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractSpanDecorator.java index 9cd7def4da6..f54d88a0697 100644 --- a/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractSpanDecorator.java +++ b/components/camel-tracing/src/main/java/org/apache/camel/tracing/decorators/AbstractSpanDecorator.java @@ -103,6 +103,11 @@ public abstract class AbstractSpanDecorator implements SpanDecorator { String scheme = getSchemeName(endpoint); span.setTag(TagConstants.URL_SCHEME, scheme); + final String routeId; + if (exchange != null && (routeId = exchange.getFromRouteId()) != null) { + span.setTag(TagConstants.ROUTE_ID, routeId); + } + // Including the endpoint URI provides access to any options that may // have been provided, for subsequent analysis String uri = endpoint.toString(); // toString will sanitize diff --git a/components/camel-tracing/src/test/java/org/apache/camel/tracing/decorators/AbstractSpanDecoratorTest.java b/components/camel-tracing/src/test/java/org/apache/camel/tracing/decorators/AbstractSpanDecoratorTest.java index d017a210cb6..616ad491b23 100644 --- a/components/camel-tracing/src/test/java/org/apache/camel/tracing/decorators/AbstractSpanDecoratorTest.java +++ b/components/camel-tracing/src/test/java/org/apache/camel/tracing/decorators/AbstractSpanDecoratorTest.java @@ -74,12 +74,16 @@ public class AbstractSpanDecoratorTest { MockSpanAdapter span = new MockSpanAdapter(); - decorator.pre(span, null, endpoint); + Exchange exchange = Mockito.mock(Exchange.class); + Mockito.when(exchange.getFromRouteId()).thenReturn("myRouteId"); + + decorator.pre(span, exchange, endpoint); assertEquals("camel-test", span.tags().get(TagConstants.COMPONENT)); assertEquals("test", span.tags().get(TagConstants.URL_SCHEME)); assertEquals("uri", span.tags().get(TagConstants.URL_PATH)); assertEquals("query=hello", span.tags().get(TagConstants.URL_QUERY)); + assertEquals("myRouteId", span.tags().get(TagConstants.ROUTE_ID)); } @Test