搜索

220.12. MetricsRoutePolicyFactory

download PDF

此工厂允许为每个路由添加一个 RoutePolicy,该路由使用 Dropwizard 指标公开路由利用率统计。此工厂可在 Java 和 XML 中使用,如下例所示。

注意

如果您只想检测几个所选路由,而不是使用 MetricsRoutePolicyFactory,而是定义您要检测的每个路由。

从 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"/>

MetricsRoutePolicyFactoryMetricsRoutePolicy 支持以下选项:

Namedefault描述

useJmx

false

使用 com.codahale.metrics.JmxReporter 将精细的统计报告给 JMX。
请注意,如果在 CamelContext 上启用了 JMX,则将在 JMX 树中的服务类型下放入 MetricsRegistryService mbean。该 mbean 有一个操作来使用 json 输出统计信息。只有在您希望每个统计类型的精细 mbeans 时才需要将 useJmx 设置为 true。

jmxDomain

org.apache.camel.metrics

JMX 域名

prettyPrint

false

在以 json 格式输出统计信息时,是否使用用户用户打印

metricsRegistry

 

允许使用共享 com.codahale.metrics.MetricRegistry。如果没有提供,则 Camel 将创建一个由此 CamelContext 使用的共享实例。

rateUnit

timeunit.SECONDS

指标报告器或以 json 转储统计时使用的单位。

durationUnit

TimeUnit.MILLISECONDS

指标报告器中使用的持续时间单位,或者在将统计信息转储为 json 时。

namePattern

name.routeId.type

Camel 2.17: 要使用的名称模式。使用点作为分隔符,但您可以更改。名为 , routeId, 和 type 的值将被实际值替换。其中 name 是 CamelContext 的名称。routeId 是路由的名称。和 type 是响应的值。

从 Java 代码中,您可以存放来自 org.apache.camel.component.metrics.routepolicy.MetricsRegistry 的 com.codahale.metrics.MetricRegistry Service,如下所示:

MetricRegistryService registryService = context.hasService(MetricsRegistryService.class);
if (registryService != null) {
  MetricsRegistry registry = registryService.getMetricsRegistry();
  ...
}
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.