第 256 章 OpenTracing 组件

可作为 Camel 2.19 提供

重要

从 Camel 2.21 开始,需要使用与 OpenTracing Java API 版本 0.31 或更高版本兼容的 OpenTracing 错误跟踪器。

camel-opentracing 组件用于使用 OpenTracing 进行追踪和传入和传出的 Camel 消息。

事件(span)捕获用于传入和发送到 Camel 的传出消息。

如需受支持的 tracers 列表,请参阅 OpenTracing 网站。

256.1. 配置

OpenTracing 跟踪器的配置属性有:

选项默认值描述

excludePatterns

 

设置 exclude 模式,它将为与 模式匹配的 Camel 消息禁用追踪。内容是一个 Set<String>,其中键是一个模式。该模式使用来自 Intercept 的规则。

encoding

false

设置标头键是否需要编码(特定于连接器)。该值是一个布尔值。需要为 JMS 属性键编码实例。

可以将 OpenTracing 跟踪器配置为为 Camel 应用提供分布式追踪方法:

256.1.1. explicit

在您的 POM 中包含 camel-opentracing 组件,以及与所选 OpenTracing 兼容 Tracer 关联的特定依赖项。

若要显式配置 OpenTracing 支持,可实例化 OpenTracingTracer 并初始化 camel 上下文。您可以选择指定一个 Tracer,或使用 RegistryServiceLoader 隐式发现它。

OpenTracingTracer ottracer = new OpenTracingTracer();
// By default it uses a Noop Tracer, but you can override it with a specific OpenTracing implementation.
ottracer.setTracer(...);
// And then initialize the context
ottracer.init(camelContext);

若要在 XML 中使用 OpenTracingTracer,您需要做的一点就是定义 OpenTracing tracer Bean。Camel 将自动发现并使用它们。

  <bean id="tracer" class="..."/>
  <bean id="ottracer" class="org.apache.camel.opentracing.OpenTracingTracer">
    <property name="tracer" ref="tracer"/>
  </bean>