221.11. MicrometerMessageHistoryFactory


此工厂允许使用指标在路由消息时捕获消息历史性能统计信息。它的工作原理为所有路由中的每个节点使用 Micrometer Timer。此工厂可在 Java 和 XML 中使用,如下例所示。

从 Java 中,您刚刚将工厂设置为 CamelContext,如下所示:

context.setMessageHistoryFactory(new MicrometerMessageHistoryFactory());

从 XML DSL 中,您定义一个 <bean>,如下所示:

  <!-- use camel-micrometer message history to gather metrics for all messages being routed -->
  <bean id="metricsMessageHistoryFactory" class="org.apache.camel.component.micrometer.messagehistory.MicrometerMessageHistoryFactory"/>

工厂支持以下选项:

Namedefault描述

prettyPrint

false

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

meterRegistry

 

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

durationUnit

TimeUnit.MILLISECONDS

将统计数据转储为 json 时用于持续时间的单位。

在运行时,可以从 Java API 或 JMX 访问指标,允许将数据作为 json 输出收集数据。

从 Java 代码中,您可以从 CamelContext 获取服务,如下所示:

MicrometerMessageHistoryService service = context.hasService(MicrometerMessageHistoryService.class);
String json = service.dumpStatisticsAsJson();

如果在 CamelContext 中启用了 JMX,则 MBean 会在 type=services 树中注册,并带有 name=MicrometerMessageHistory

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.