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
commit 5ed4ed7452778b213d0bd3571b9d32395dc74e50 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(
