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;
}