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 ##