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

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


The following commit(s) were added to refs/heads/camel-main by this push:
     new 2d842f03a2 feat(micrometer): enable logging metrics on shutdown
2d842f03a2 is described below

commit 2d842f03a2384b272dee665d87468cb781a9d5fe
Author: Pasquale Congiusti <[email protected]>
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(

Reply via email to