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

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

commit 46a98de2f9b949ae30bde668b5b5caf49a5397aa
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Mon May 27 13:00:08 2024 +0200

    CAMEL-20798: Add RemoteAddress to endpoints so they can tell the 
url/hostname etc for the system it connects. This is needed for better 
monitoring, tracing and management. Add this information into camel-tracer as 
tags.
---
 .../org/apache/camel/catalog/dev-consoles.properties      |  1 +
 .../org/apache/camel/catalog/dev-consoles/protocol.json   | 15 +++++++++++++++
 .../apache/camel/component/activemq/ActiveMQEndpoint.java |  4 ++--
 .../camel/component/activemq6/ActiveMQEndpoint.java       |  9 +++++++--
 .../apache/camel/component/arangodb/ArangoDbEndpoint.java |  9 +++++++--
 .../apache/camel/component/asterisk/AsteriskEndpoint.java |  9 +++++++--
 .../org/apache/camel/http/common/HttpCommonEndpoint.java  | 10 +++++++++-
 .../org/apache/camel/component/mail/MailEndpoint.java     | 12 ++++++++++--
 .../camel/component/sap/netweaver/NetWeaverEndpoint.java  |  9 +++++++--
 9 files changed, 65 insertions(+), 13 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties
index 407203014fc..bfb1dc6c17a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties
@@ -24,6 +24,7 @@ mllp
 netty
 platform-http
 properties
+protocol
 quartz
 reload
 resilience4j
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/protocol.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/protocol.json
new file mode 100644
index 00000000000..e7a34a208cc
--- /dev/null
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/protocol.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "name": "protocol",
+    "title": "Protocols",
+    "description": "Protocols used for network communication with clients",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ProtocolDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.7.0-SNAPSHOT"
+  }
+}
+
diff --git 
a/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQEndpoint.java
 
b/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQEndpoint.java
index df6ff18bec8..be92147a9dc 100644
--- 
a/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQEndpoint.java
+++ 
b/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/ActiveMQEndpoint.java
@@ -61,7 +61,7 @@ public class ActiveMQEndpoint extends JmsEndpoint implements 
EndpointServiceLoca
     }
 
     @Override
-    public String getAddress() {
+    public String getServiceUrl() {
         String url = null;
         if (getConfiguration() instanceof ActiveMQConfiguration acc) {
             url = acc.getBrokerURL();
@@ -78,7 +78,7 @@ public class ActiveMQEndpoint extends JmsEndpoint implements 
EndpointServiceLoca
     }
 
     @Override
-    public Map<String, String> getAddressMetadata() {
+    public Map<String, String> getServiceMetadata() {
         String un = null;
         String cid = null;
         if (getConfiguration() instanceof ActiveMQConfiguration acc) {
diff --git 
a/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQEndpoint.java
 
b/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQEndpoint.java
index 213ac637fa0..877e2fb8a4b 100644
--- 
a/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQEndpoint.java
+++ 
b/components/camel-activemq6/src/main/java/org/apache/camel/component/activemq6/ActiveMQEndpoint.java
@@ -61,7 +61,7 @@ public class ActiveMQEndpoint extends JmsEndpoint implements 
EndpointServiceLoca
     }
 
     @Override
-    public String getAddress() {
+    public String getServiceUrl() {
         String url = null;
         if (getConfiguration() instanceof ActiveMQConfiguration acc) {
             url = acc.getBrokerURL();
@@ -73,7 +73,12 @@ public class ActiveMQEndpoint extends JmsEndpoint implements 
EndpointServiceLoca
     }
 
     @Override
-    public Map<String, String> getAddressMetadata() {
+    public String getServiceProtocol() {
+        return "jms";
+    }
+
+    @Override
+    public Map<String, String> getServiceMetadata() {
         String un = null;
         String cid = null;
         if (getConfiguration() instanceof ActiveMQConfiguration acc) {
diff --git 
a/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbEndpoint.java
 
b/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbEndpoint.java
index be31887d278..7d4e1842d3b 100644
--- 
a/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbEndpoint.java
+++ 
b/components/camel-arangodb/src/main/java/org/apache/camel/component/arangodb/ArangoDbEndpoint.java
@@ -55,12 +55,17 @@ public class ArangoDbEndpoint extends DefaultEndpoint 
implements EndpointService
     }
 
     @Override
-    public String getAddress() {
+    public String getServiceUrl() {
         return configuration.getHost() + ":" + configuration.getPort();
     }
 
     @Override
-    public Map<String, String> getAddressMetadata() {
+    public String getServiceProtocol() {
+        return "http";
+    }
+
+    @Override
+    public Map<String, String> getServiceMetadata() {
         if (configuration.getUser() != null) {
             return Map.of("username", configuration.getUser());
         }
diff --git 
a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
 
b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
index 613a7791c43..e5eebc513b3 100644
--- 
a/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
+++ 
b/components/camel-asterisk/src/main/java/org/apache/camel/component/asterisk/AsteriskEndpoint.java
@@ -79,12 +79,17 @@ public class AsteriskEndpoint extends DefaultEndpoint 
implements EndpointService
     }
 
     @Override
-    public String getAddress() {
+    public String getServiceUrl() {
         return hostname;
     }
 
     @Override
-    public Map<String, String> getAddressMetadata() {
+    public String getServiceProtocol() {
+        return "voip";
+    }
+
+    @Override
+    public Map<String, String> getServiceMetadata() {
         if (username != null) {
             return Map.of("username", username);
         }
diff --git 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
index 88fe0c60fc4..f7f3d778dc0 100644
--- 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
+++ 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
@@ -195,13 +195,21 @@ public abstract class HttpCommonEndpoint extends 
DefaultEndpoint implements Head
     }
 
     @Override
-    public String getAddress() {
+    public String getServiceUrl() {
         if (httpUri != null) {
             return httpUri.toString();
         }
         return null;
     }
 
+    @Override
+    public String getServiceProtocol() {
+        if (httpUri != null) {
+            return httpUri.getScheme();
+        }
+        return null;
+    }
+
     public void connect(HttpConsumer consumer) throws Exception {
         component.connect(consumer);
     }
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
index 22f6762d414..a2a6c9fddc1 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
@@ -91,7 +91,7 @@ public class MailEndpoint extends ScheduledPollEndpoint 
implements HeaderFilterS
     }
 
     @Override
-    public String getAddress() {
+    public String getServiceUrl() {
         if (configuration != null) {
             return configuration.getProtocol() + ":" + configuration.getHost() 
+ ":" + configuration.getPort();
         }
@@ -99,7 +99,15 @@ public class MailEndpoint extends ScheduledPollEndpoint 
implements HeaderFilterS
     }
 
     @Override
-    public Map<String, String> getAddressMetadata() {
+    public String getServiceProtocol() {
+        if (configuration != null) {
+            return configuration.getProtocol();
+        }
+        return null;
+    }
+
+    @Override
+    public Map<String, String> getServiceMetadata() {
         if (configuration != null && configuration.getUsername() != null) {
             return Map.of("username", configuration.getUsername());
         }
diff --git 
a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
 
b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
index 6670413464e..b02a5c3bc9a 100644
--- 
a/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
+++ 
b/components/camel-sap-netweaver/src/main/java/org/apache/camel/component/sap/netweaver/NetWeaverEndpoint.java
@@ -59,12 +59,17 @@ public class NetWeaverEndpoint extends DefaultEndpoint 
implements EndpointServic
     }
 
     @Override
-    public String getAddress() {
+    public String getServiceUrl() {
         return url;
     }
 
     @Override
-    public Map<String, String> getAddressMetadata() {
+    public String getServiceProtocol() {
+        return "http";
+    }
+
+    @Override
+    public Map<String, String> getServiceMetadata() {
         if (username != null) {
             return Map.of("username", username);
         }

Reply via email to