第 257 章 OpenTracing 组件
从 Camel 2.19 开始提供
从 Camel 2.21 开始,需要使用与 OpenTracing Java API 版本 0.31 或更高版本兼容的 OpenTracing complaint tracer。
camel-opentracing 组件使用 OpenTracing 跟踪和计时传入和传出 Camel 消息。
为发送到/来自 Camel 的传入和传出消息捕获事件(spans)。
如需支持的 tracers 列表,请参阅 OpenTracing 网站。
257.1. Configuration
OpenTracing tracer 的配置属性是:
选项 | 默认 | 描述 |
---|---|---|
excludePatterns | 设置将禁用与模式匹配 Camel 消息的追踪的 exclude 模式。内容是一个 Set<String>,其中键是一个模式。模式使用来自 Intercept 的规则。 | |
编码 | false | 设置标头键是否需要编码(特定于connector)。该值是一个布尔值。短划线需要为 JMS 属性键编码实例。 |
可以通过两种方式将 OpenTracing 追踪器配置为为 Camel 应用程序提供分布式追踪:
257.1.1. 显式
在您的 POM 中包含 camel-opentracing
组件,以及与所选 OpenTracing 兼容的 Tracer 关联的任何特定依赖项。
要显式配置 OpenTracing 支持,请实例化 OpenTracingTracer
并初始化 camel 上下文。您可以选择指定一个 Tracer
,也可以使用 Registry
或 ServiceLoader
来隐式发现。
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 追踪器 Bean。Camel 将自动发现和使用它们。
<bean id="tracer" class="..."/> <bean id="ottracer" class="org.apache.camel.opentracing.OpenTracingTracer"> <property name="tracer" ref="tracer"/> </bean>