This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 3b0fe617d14 CAMEL-20860: camel-core - Endpoint should have isRemote 
method
3b0fe617d14 is described below

commit 3b0fe617d145bc3f0e19e1c40fcac305aa41a337
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Jun 12 09:27:36 2024 +0200

    CAMEL-20860: camel-core - Endpoint should have isRemote method
---
 .../org/apache/camel/spi/BacklogTracerEventMessage.java     |  9 +++++++++
 .../impl/debugger/DefaultBacklogTracerEventMessage.java     | 12 ++++++++++++
 .../apache/camel/impl/engine/CamelInternalProcessor.java    |  4 ++++
 .../java/org/apache/camel/impl/engine/DefaultTracer.java    | 13 ++++++-------
 4 files changed, 31 insertions(+), 7 deletions(-)

diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/BacklogTracerEventMessage.java
 
b/core/camel-api/src/main/java/org/apache/camel/spi/BacklogTracerEventMessage.java
index bf2e88adee9..4966baca42d 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/spi/BacklogTracerEventMessage.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/spi/BacklogTracerEventMessage.java
@@ -18,6 +18,8 @@ package org.apache.camel.spi;
 
 import java.util.Map;
 
+import org.apache.camel.Endpoint;
+
 /**
  * Represents a traced message by the BacklogTracer.
  */
@@ -137,6 +139,13 @@ public interface BacklogTracerEventMessage {
      */
     String getEndpointUri();
 
+    /**
+     * Whether the endpoint is remote.
+     *
+     * @see Endpoint#isRemote()
+     */
+    boolean isRemoteEndpoint();
+
     /**
      * Gets the endpoint remote address such as URL, hostname, 
connection-string, or cloud region, that are component
      * specific.
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultBacklogTracerEventMessage.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultBacklogTracerEventMessage.java
index 5db7cc4a226..b57668d2a8b 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultBacklogTracerEventMessage.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/debugger/DefaultBacklogTracerEventMessage.java
@@ -41,6 +41,7 @@ public final class DefaultBacklogTracerEventMessage 
implements BacklogTracerEven
     private final String exchangeId;
     private final String threadName;
     private String endpointUri;
+    private boolean remoteEndpoint;
     private String endpointServiceUrl;
     private String endpointServiceProtocol;
     private Map<String, String> endpointServiceMetadata;
@@ -193,6 +194,15 @@ public final class DefaultBacklogTracerEventMessage 
implements BacklogTracerEven
         return endpointUri;
     }
 
+    @Override
+    public boolean isRemoteEndpoint() {
+        return remoteEndpoint;
+    }
+
+    public void setRemoteEndpoint(boolean remoteEndpoint) {
+        this.remoteEndpoint = remoteEndpoint;
+    }
+
     public void setEndpointUri(String endpointUri) {
         this.endpointUri = endpointUri;
     }
@@ -258,6 +268,7 @@ public final class DefaultBacklogTracerEventMessage 
implements BacklogTracerEven
         sb.append(prefix).append("  <routeId>").append(routeId != null ? 
routeId : "").append("</routeId>\n");
         if (endpointUri != null) {
             sb.append(prefix).append("  
<endpointUri>").append(endpointUri).append("</endpointUri>\n");
+            sb.append(prefix).append("  
<remoteEndpoint>").append(remoteEndpoint).append("</remoteEndpoint>\n");
         }
         if (toNode != null) {
             sb.append(prefix).append("  
<toNode>").append(toNode).append("</toNode>\n");
@@ -313,6 +324,7 @@ public final class DefaultBacklogTracerEventMessage 
implements BacklogTracerEven
         }
         if (endpointUri != null) {
             jo.put("endpointUri", endpointUri);
+            jo.put("remoteEndpoint", remoteEndpoint);
         }
         if (routeId != null) {
             jo.put("routeId", routeId);
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
index 2e57acf3554..1e49cd39a6d 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
@@ -710,15 +710,18 @@ public class CamelInternalProcessor extends 
DelegateAsyncProcessor implements In
             data.doneProcessing();
 
             String uri = null;
+            boolean remote = true;
             Endpoint endpoint = notifier.after(exchange);
             if (endpoint != null) {
                 uri = endpoint.getEndpointUri();
+                remote = endpoint.isRemote();
             } else if ((data.isFirst() || data.isLast()) && data.getToNode() 
== null && routeDefinition != null) {
                 // pseudo first/last event (the from in the route)
                 Route route = 
camelContext.getRoute(routeDefinition.getRouteId());
                 if (route != null && route.getConsumer() != null) {
                     // get the actual resolved uri
                     uri = route.getConsumer().getEndpoint().getEndpointUri();
+                    remote = route.getConsumer().getEndpoint().isRemote();
                 } else {
                     uri = routeDefinition.getEndpointUrl();
                 }
@@ -726,6 +729,7 @@ public class CamelInternalProcessor extends 
DelegateAsyncProcessor implements In
             if (uri != null) {
                 data.setEndpointUri(uri);
             }
+            data.setRemoteEndpoint(remote);
             if (endpoint instanceof EndpointServiceLocation esl) {
                 data.setEndpointServiceUrl(esl.getServiceUrl());
                 data.setEndpointServiceProtocol(esl.getServiceProtocol());
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTracer.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTracer.java
index aa23da6ebeb..036e318b96b 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTracer.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTracer.java
@@ -119,21 +119,20 @@ public class DefaultTracer extends ServiceSupport 
implements CamelContextAware,
             return;
         }
 
+        // skip non-remote endpoints
+        if (!endpoint.isRemote()) {
+            return;
+        }
+
         if (shouldTrace(node)) {
             String routeId = 
ExpressionBuilder.routeIdExpression().evaluate(exchange, String.class);
 
-            // we need to avoid leak the sensible information here
-            // the sanitizeUri takes a very long time for very long string and 
the format cuts this to
-            // 33 characters, anyway. Cut this to 50 characters. This will 
give enough space for removing
-            // characters in the sanitizeUri method and will be reasonably fast
-            String label = 
URISupport.sanitizeUri(StringHelper.limitLength(node.getLabel(), 50));
-
             StringBuilder sb = new StringBuilder();
             sb.append(String.format(tracingFormat, "   ", routeId, ""));
             sb.append(" ");
 
             StringJoiner sj = new StringJoiner(", ");
-            sj.add("url=" + endpoint.toString());
+            sj.add("url=" + endpoint);
             if (endpoint instanceof EndpointServiceLocation esl && 
esl.getServiceUrl() != null) {
                 // enrich with service location
                 sj.add("service=" + esl.getServiceUrl());

Reply via email to