You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2026/03/23 16:25:36 UTC
(camel-quarkus) 14/30: feat(micrometer): enable logging metrics on shutdown
This is an automated email from the ASF dual-hosted git repository.
jiriondrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit d7e74909ac07b91470a380377666a2809c7be01b
Author: Pasquale Congiusti <pa...@gmail.com>
AuthorDate: Tue Mar 3 12:04:38 2026 +0100
feat(micrometer): enable logging metrics on shutdown
Ref CAMEL-23089
---
.../ROOT/pages/reference/extensions/micrometer.adoc | 13 +++++++++++++
.../component/micrometer/CamelMicrometerConfig.java | 16 ++++++++++++++++
.../component/micrometer/CamelMicrometerRecorder.java | 4 ++++
3 files changed, 33 insertions(+)
diff --git a/docs/modules/ROOT/pages/reference/extensions/micrometer.adoc b/docs/modules/ROOT/pages/reference/extensions/micrometer.adoc
index da4ca918a5..ed138dd304 100644
--- a/docs/modules/ROOT/pages/reference/extensions/micrometer.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/micrometer.adoc
@@ -152,6 +152,19 @@ a|icon:lock[title=Fixed at build time] [[quarkus-camel-metrics-route-policy-excl
Comma separated list of route IDs to exclude from metrics collection.
| `string`
|
+
+a|icon:lock[title=Fixed at build time] [[quarkus-camel-metrics-log-metrics-on-shutdown]]`link:#quarkus-camel-metrics-log-metrics-on-shutdown[quarkus.camel.metrics.log-metrics-on-shutdown]`
+
+Log metrics when application is shutting down. (default, `false`).
+| `boolean`
+| `false`
+
+a|icon:lock[title=Fixed at build time] [[quarkus-camel-metrics-log-metrics-on-shutdown-filters]]`link:#quarkus-camel-metrics-log-metrics-on-shutdown-filters[quarkus.camel.metrics.log-metrics-on-shutdown-filters]`
+
+List of metrics (comma separated) to log when application is shutting down. You can use `*` character to log any
+metrics containing the wildcard, for example `camel.exchanges.*` (default to all metrics available).
+| List of `string`
+|
|===
[.configuration-legend]
diff --git a/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerConfig.java b/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerConfig.java
index c897c09301..282ff42085 100644
--- a/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerConfig.java
+++ b/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerConfig.java
@@ -105,6 +105,22 @@ public interface CamelMicrometerConfig {
*/
Optional<String> routePolicyExcludePattern();
+ /**
+ * Log metrics when application is shutting down. (default, `false`).
+ *
+ * @asciidoclet
+ */
+ @WithDefault("false")
+ boolean logMetricsOnShutdown();
+
+ /**
+ * List of metrics (comma separated) to log when application is shutting down. You can use `*` character to log any
+ * metrics containing the wildcard, for example `camel.exchanges.*` (default to all metrics available).
+ *
+ * @asciidoclet
+ */
+ Optional<String[]> logMetricsOnShutdownFilters();
+
enum MetricsNamingStrategy {
DEFAULT, LEGACY
}
diff --git a/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerRecorder.java b/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerRecorder.java
index 82ee4f6efc..4408324e67 100644
--- a/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerRecorder.java
+++ b/extensions/micrometer/runtime/src/main/java/org/apache/camel/quarkus/component/micrometer/CamelMicrometerRecorder.java
@@ -94,6 +94,10 @@ public class CamelMicrometerRecorder {
if (config.enableExchangeEventNotifier()) {
MicrometerExchangeEventNotifier eventNotifier = new MicrometerExchangeEventNotifier();
eventNotifier.setBaseEndpointURI(config.baseEndpointURIExchangeEventNotifier());
+ eventNotifier.setLogMetricsOnShutdown(config.logMetricsOnShutdown());
+ if (config.logMetricsOnShutdownFilters().isPresent()) {
+ eventNotifier.setLogMetricsOnShutdownFilters(config.logMetricsOnShutdownFilters().get());
+ }
if (config.namingStrategy().equals(MetricsNamingStrategy.LEGACY)) {
eventNotifier.setNamingStrategy(