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(