108.4. 使用追踪策略
camel-opentelemetry 组件启动程序还允许您跟踪 from/to Camel 端点,还可以跟踪从 Camel 处理器/bean 调用的 Java Beans。默认情况下,从 Camel Processor 或 bean 调用的 Java Bean 被归类为另一个"span",也就是说,如果用户写入 .to ("bean:beanName?method=methodName"),它将使用 from/to Camel 端点进行归类。
要在同一"span"下对从 Camel 处理器/bean 调用的 Java Bean 进行分类,您可以使用 setTracingStrategy () 选项使用 org.apache.camel.opentelemetry.OpenTelemetryTracingStrategy 类。
import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Tracer;
@Configuration
public class CamelOtelConfiguration {
public CamelOtelConfiguration(CamelContext camelContext, OpenTelemetryTracer tracer) {
var strategy = new OpenTelemetryTracingStrategy(tracer);
tracer.setTracingStrategy(strategy);
camelContext.getCamelContextExtension().addInterceptStrategy(strategy);
}
}
如果数据太多,您可以根据 camel.opentelemetry.exclude-patterns 属性过滤数据。
camel:
opentelemetry:
exclude-patterns:
- ## Set some ID here to filter ##