2.15. 指标


概述

Camel 2.14 已提供

虽然 Camel 提供了很多现有指标集成,但为 Camel 路由添加了 Codahale 指标。这使得最终用户能够使用 Codahale 指标将 Camel 路由信息与所收集的现有数据连接在一起。

要使用 Codahale 指标,您需要:

  1. 添加 camel-metrics 组件
  2. 在 XML 或 Java 代码中启用路由指标

请注意,性能指标只在显示它们时可用 ; 任何类型的监控工具都可以与 JMX 集成,因为指标可以通过 JMX 获得。此外,实际数据是 100% Codehale JSON。

指标路由策略

可以根据各个路由定义 MetricsRoutePolicy,获取单个路由的 Codahale 指标。

从 Java 创建 MetricsRoutePolicy 实例,作为路由的策略分配。这如下所示:

from("file:src/data?noop=true").routePolicy(new MetricsRoutePolicy()).to("jms:incomingOrders");

从 XML DSL,您将定义一个 < bean&gt; 指定一个 <bean>,它指定为路由的策略;例如:

<bean id="policy" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicy"/>

<camelContext xmlns="http://camel.apache.org/schema/spring">
  <route routePolicyRef="policy">
    <from uri="file:src/data?noop=true"/>
[...]

指标路由策略 onnectionFactoryy

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

从 Java 中,您刚刚将工厂添加到 CamelContext 中,如下所示:

context.addRoutePolicyFactory(new MetricsRoutePolicyFactory());

从 XML DSL 中,您可以按照如下所示定义 & lt;bean& gt;:

<!-- use camel-metrics route policy to gather metrics for all routes -->
<bean id="metricsRoutePolicyFactory" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory"/>

从 Java 代码中,您可以从 org.apache .camel.component.metrics.MetricsRegistry 获取 com.codahale.metrics.metrics.routepolicy.MetricsRegistryService,如下所示:

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

选项

MetricsRoutePolicyFactoryMetricsRoutePolicy 支持以下选项:

名称

default

描述

durationUnit

TimeUnit.MILLISECONDS

在指标报告器或转储统计 json 中用于持续时间的单元。

jmxDomain

org.apache.camel.metrics

JXM 域名。

metricsRegistry

 

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

prettyPrint

false

以 json 格式输出统计时是否使用完整的打印。

rateUnit

TimeUnit.SECONDS

指标报告器或转储统计为 json 的比率的单元。

useJmx

false

是否使用 com.codahale.metrics.JmxReporter 将精细统计报告为 JMX。

请注意,如果在 CamelContext 上启用了 JMX,那么在 JMX 树中的服务类型下列出了 MetricsRegistryService mbean。该 mbean 有单一操作,可使用 json 输出统计信息。只有在您希望每个统计类型进行精细 mbeans 时,才需要使用Jmx 设置为 true。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.