218.11. MetricsRoutePolicyFactory
此工厂允许为每个路由添加 RoutePolicy,该路由使用 Dropwizard 指标公开路由利用率统计。此工厂可以在 Java 和 XML 中使用,作为以下示例。
如果只想检测一些选择的路由,您可以使用 MetricsRoutePolicyFactory 定义 MetricsRoutePolicy。
从 Java 中,您刚刚将工厂添加到 CamelContext
中,如下所示:
context.addRoutePolicyFactory(new MetricsRoutePolicyFactory());
在 XML DSL 中,您将定义 <bean>,如下所示:
<!-- use camel-metrics route policy to gather metrics for all routes --> <bean id="metricsRoutePolicyFactory" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory"/>
MetricsRoutePolicyFactory
和 MetricsRoutePolicy
支持以下选项:
名称 | default | 描述 |
---|---|---|
useJmx | false |
是否使用 |
jmxDomain | org.apache.camel.metrics | JMX 域名 |
prettyPrint | false | 是否在以 json 格式输出统计信息时打印情况 |
metricsRegistry |
|
allow 使用共享的 |
rateUnit | TimeUnit.SECONDS | 指标报告者中用于速率的单位,或者将统计信息转储到 json。 |
durationUnit | TimeUnit.MILLISECONDS | 指标报告程序中的 for 持续时间或者将统计信息转储到 json 时使用的单位。 |
namePattern |
|
Camel 2.17: 要使用的名称模式。使用点作为分隔符,但您可以修改。值 |
从 Java code tou 可保存来自 org.apache.camel.component.metrics.routepolicy.MetricsRegistry 的 com.codahale.metrics.MetricsRegistryService 的
com.codahale.metrics.MetricRegistry
Registry。
MetricRegistryService registryService = context.hasService(MetricsRegistryService.class); if (registryService != null) { MetricsRegistry registry = registryService.getMetricsRegistry(); ... }