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

Reply via email to