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-spring-boot.git


The following commit(s) were added to refs/heads/main by this push:
     new afe94935762 feat(components/micrometer): 
baseEndpointUriExchangeEventNotifier parameter (#1357)
afe94935762 is described below

commit afe9493576218f929c95fae9e35faf15ae33ce9a
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Fri Jan 31 07:58:16 2025 +0100

    feat(components/micrometer): baseEndpointUriExchangeEventNotifier parameter 
(#1357)
---
 .../camel-micrometer-starter/src/main/docs/micrometer.json  |  7 +++++++
 .../springboot/metrics/CamelMetricsAutoConfiguration.java   | 10 +++++++++-
 .../springboot/metrics/CamelMetricsConfiguration.java       | 13 +++++++++++++
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git 
a/components-starter/camel-micrometer-starter/src/main/docs/micrometer.json 
b/components-starter/camel-micrometer-starter/src/main/docs/micrometer.json
index f99c60c9d06..4d5ade2ce91 100644
--- a/components-starter/camel-micrometer-starter/src/main/docs/micrometer.json
+++ b/components-starter/camel-micrometer-starter/src/main/docs/micrometer.json
@@ -49,6 +49,13 @@
       "description": "To use a custom configured MetricRegistry. The option is 
a io.micrometer.core.instrument.MeterRegistry type.",
       "sourceType": 
"org.apache.camel.component.micrometer.springboot.MicrometerComponentConfiguration"
     },
+    {
+      "name": "camel.metrics.base-endpoint-uri-exchange-event-notifier",
+      "type": "java.lang.Boolean",
+      "description": "Set whether to use base endpoint URI when capturing 
metrics on exchange processing times.",
+      "sourceType": 
"org.apache.camel.component.micrometer.springboot.metrics.CamelMetricsConfiguration",
+      "defaultValue": true
+    },
     {
       "name": "camel.metrics.enable-exchange-event-notifier",
       "type": "java.lang.Boolean",
diff --git 
a/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/metrics/CamelMetricsAutoConfiguration.java
 
b/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/metrics/CamelMetricsAutoConfiguration.java
index ec16dc028ef..15b2a5a6f00 100644
--- 
a/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/metrics/CamelMetricsAutoConfiguration.java
+++ 
b/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/metrics/CamelMetricsAutoConfiguration.java
@@ -20,6 +20,8 @@ import io.micrometer.core.instrument.MeterRegistry;
 import org.apache.camel.CamelContext;
 import 
org.apache.camel.component.micrometer.eventnotifier.MicrometerExchangeEventNotifier;
 import 
org.apache.camel.component.micrometer.eventnotifier.MicrometerExchangeEventNotifierNamingStrategy;
+import 
org.apache.camel.component.micrometer.eventnotifier.MicrometerExchangeEventNotifierNamingStrategyDefault;
+import 
org.apache.camel.component.micrometer.eventnotifier.MicrometerExchangeEventNotifierNamingStrategyLegacy;
 import 
org.apache.camel.component.micrometer.eventnotifier.MicrometerRouteEventNotifier;
 import 
org.apache.camel.component.micrometer.eventnotifier.MicrometerRouteEventNotifierNamingStrategy;
 import 
org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory;
@@ -75,7 +77,13 @@ public class CamelMetricsAutoConfiguration {
             notifier.setCamelContext(camelContext);
             notifier.setMeterRegistry(meterRegistry);
             if ("legacy".equalsIgnoreCase(configuration.getNamingStrategy())) {
-                
notifier.setNamingStrategy(MicrometerExchangeEventNotifierNamingStrategy.LEGACY);
+                notifier.setNamingStrategy(new 
MicrometerExchangeEventNotifierNamingStrategyLegacy(
+                    configuration.isBaseEndpointUriExchangeEventNotifier()
+                ));
+            } else {
+                notifier.setNamingStrategy(new 
MicrometerExchangeEventNotifierNamingStrategyDefault(
+                    configuration.isBaseEndpointUriExchangeEventNotifier()
+                ));
             }
             managementStrategy.addEventNotifier(notifier);
         }
diff --git 
a/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/metrics/CamelMetricsConfiguration.java
 
b/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/metrics/CamelMetricsConfiguration.java
index 5b3fb2a2c62..260f2678e5b 100644
--- 
a/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/metrics/CamelMetricsConfiguration.java
+++ 
b/components-starter/camel-micrometer-starter/src/main/java/org/apache/camel/component/micrometer/springboot/metrics/CamelMetricsConfiguration.java
@@ -74,6 +74,11 @@ public class CamelMetricsConfiguration {
      */
     private boolean enableExchangeEventNotifier = true;
 
+    /**
+     * Set whether to use base endpoint URI when capturing metrics on exchange 
processing times.
+     */
+    private boolean baseEndpointUriExchangeEventNotifier = true;
+
     /**
      * Set whether to enable the MicrometerRouteEventNotifier for capturing 
metrics on the total number of routes and
      * total number of routes running.
@@ -150,6 +155,14 @@ public class CamelMetricsConfiguration {
         this.enableExchangeEventNotifier = enableExchangeEventNotifier;
     }
 
+    public boolean isBaseEndpointUriExchangeEventNotifier() {
+        return baseEndpointUriExchangeEventNotifier;
+    }
+
+    public void setBaseEndpointUriExchangeEventNotifier(boolean 
baseEndpointUriExchangeEventNotifier) {
+        this.baseEndpointUriExchangeEventNotifier = 
baseEndpointUriExchangeEventNotifier;
+    }
+
     public boolean isEnableRouteEventNotifier() {
         return enableRouteEventNotifier;
     }

Reply via email to