| [[microprofile-metrics]] |
| = MicroProfile Metrics Extension |
| |
| *Available as of Camel Quarkus version 0.21* |
| |
| The MicroProfile Metrics extension produces metrics and statistics related to the Camel Context, routes and message exchanges. |
| |
| Maven users will need to add the following dependency to their `pom.xml` for this extension. |
| |
| [source,xml] |
| ------------------------------------------------------------ |
| <dependency> |
| <groupId>org.apache.camel.quarkus</groupId> |
| <artifactId>camel-quarkus-microprofile-metrics</artifactId> |
| </dependency> |
| ------------------------------------------------------------ |
| |
| == Usage |
| |
| The https://camel.apache.org/components/latest/microprofile-metrics-component.html[microprofile-metrics] component automatically exposes a set of Camel application metrics. Some of these include: |
| |
| === Camel Context metrics |
| |
| [cols="80,.^20] |
| |=== |
| |Metric Name | Type |
| |
| |`camel.context.status` |
| |
| The status of the Camel Context represented by the `ServiceStatus` enum ordinal |
| |
| | Gauge |
| |
| |`camel.context.uptime` |
| |
| The Camel Context uptime in milliseconds |
| |
| | Gauge |
| |
| |`camel.context.exchanges.completed.total` |
| |
| The total number of completed exchanges |
| |
| | Counter |
| |
| |`camel.context.exchanges.failed.total` |
| |
| The total number of failed exchanges |
| |
| | Counter |
| |
| |`camel.context.exchanges.inflight.total` |
| |
| The total number of inflight exchanges |
| |
| | Gauge |
| |
| |`camel.context.exchanges.total` |
| |
| The total number of all exchanges |
| |
| | Counter |
| |
| |`camel.context.externalRedeliveries.total` |
| |
| The total number of all external redeliveries |
| |
| | Counter |
| |
| |`camel.context.failuresHandled.total` |
| |
| The total number of all failures handled |
| |
| | Counter |
| |
| |=== |
| |
| === Camel Route metrics |
| |
| [cols="80,.^20] |
| |=== |
| |Metric Name | Type |
| |
| |`camel.route.count` |
| |
| The number of routes |
| |
| | Gauge |
| |
| |`camel.route.running.count` |
| |
| The number of running routes |
| |
| | Gauge |
| |
| |`camel.route.exchanges.completed.total` |
| |
| The total number of completed exchanges for the route |
| |
| | Counter |
| |
| |`camel.route.exchanges.failed.total` |
| |
| The total number of failed exchanges for the route |
| |
| | Counter |
| |
| |`camel.route.exchanges.inflight.total` |
| |
| The total number of inflight exchanges for the route |
| |
| | Gauge |
| |
| |`camel.route.exchanges.total` |
| |
| The total number of all exchanges for the route |
| |
| | Counter |
| |
| |`camel.route.externalRedeliveries.total` |
| |
| The total number of all external redeliveries for the route |
| |
| | Counter |
| |
| |`camel.route.failuresHandled.total` |
| |
| The total number of all failures handled for the route |
| |
| | Counter |
| |=== |
| |
| All metrics are tagged with the name of the Camel Context and the id of the route where applicable. |
| |
| You can also produce your own customized metrics in your Camel routes. For more information, refer to the https://camel.apache.org/components/latest/microprofile-metrics-component.html[microprofile-metrics] component documentation. |
| |
| Metrics are exposed to Quarkus as application metrics and they can be browsed at http://localhost:8080/metrics/application. |
| |
| |
| === Configuration |
| |
| The Camel MicroProfile Metrics extension exposes the following configuration properties. |
| |
| [cols="80,.^10,.^10"] |
| |=== |
| |Configuration property |Type |Default |
| |
| |`quarkus.camel.metrics.enable-route-policy` |
| |
| Set whether to enable the `MicroProfileMetricsRoutePolicyFactory` for capturing metrics on route processing times |
| |boolean |
| |`true` |
| |
| |
| |`quarkus.camel.metrics.enable-message-history` |
| |
| Set whether to enable the `MicroProfileMetricsMessageHistoryFactory` for capturing metrics on individual route node processing times. |
| |
| Depending on the number of configured route nodes, there is the potential to create a large volume of metrics. Therefore, this option is disabled by default. |
| |
| |boolean |
| |`false` |
| |
| |`quarkus.camel.metrics.enable-exchange-event-notifier` |
| |
| Set whether to enable the `MicroProfileMetricsExchangeEventNotifier` for capturing metrics on exchange processing times. |
| |
| |boolean |
| |`true` |
| |
| |`quarkus.camel.metrics.enable-route-event-notifier` |
| |
| Set whether to enable the `MicroProfileMetricsRouteEventNotifier` for capturing metrics on the total number of routes and total number of routes running. |
| |
| |boolean |
| |`true` |
| |
| |`quarkus.camel.metrics.enable-camel-context-event-notifier` |
| |
| Set whether to enable the `MicroProfileMetricsCamelContextEventNotifier` for capturing metrics about the CamelContext, such as status and uptime. |
| |
| |boolean |
| |`true` |
| |=== |