如何抑制某些调用的 opentelemetry java 自动检测
How to suppress opentelemetry java auto instrumentation for some calls
我使用 opentelemetry java 代理进行跟踪。它为 JDBC 调用提供自动检测。最近我添加了 quartz java 库。当quartz向DB发出内部请求时,它提供了很多痕迹。
不知道有没有办法抑制特定的痕迹?
我不想为所有 JDBC 调用禁用自动检测。
已更新
我试过 -Dotel.instrumentation.quartz.enabled=false
,但它只是禁用了作业执行痕迹,但 jdbc
调用仍然出现。
我尝试了 -Dotel.javaagent.exclude-classes=
,但很难确定我需要将哪个 class 石英放在这里以抑制 jdbc 调用。
您可以使用以下方法来抑制石英仪器:
-Dotel.instrumentation.quartz.enabled=false
或者使用环境变量:
OTEL_INSTRUMENTATION_QUARTZ_ENABLED=false
这会禁用石英仪器,并且会避免在您的情况下过度创建跨度。
您还可以使用 fine-grained 方法进一步控制,您可以使用如下语法排除特定 类 的检测:
otel.javaagent.exclude-classes="my.package.MyClass,my.package2.*"
或者配合环境变量:
OTEL_JAVAAGENT_EXCLUDE_CLASSES="my.package.MyClass,my.package2.*"
这是关于如何抑制特定代理检测的完整文档:https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/suppressing-instrumentation.md#suppressing-specific-agent-instrumentation
为了解决这个问题,我们禁用了 quartz 的自动检测:
-Dotel.instrumentation.quartz.enabled=false
并为我们自己的扩展提供了一个采样器,以识别石英提供的跨度。您可以在此官方示例中找到有关扩展的更多信息
https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/examples/extension
我使用 opentelemetry java 代理进行跟踪。它为 JDBC 调用提供自动检测。最近我添加了 quartz java 库。当quartz向DB发出内部请求时,它提供了很多痕迹。
不知道有没有办法抑制特定的痕迹? 我不想为所有 JDBC 调用禁用自动检测。
已更新
我试过 -Dotel.instrumentation.quartz.enabled=false
,但它只是禁用了作业执行痕迹,但 jdbc
调用仍然出现。
我尝试了 -Dotel.javaagent.exclude-classes=
,但很难确定我需要将哪个 class 石英放在这里以抑制 jdbc 调用。
您可以使用以下方法来抑制石英仪器:
-Dotel.instrumentation.quartz.enabled=false
或者使用环境变量:
OTEL_INSTRUMENTATION_QUARTZ_ENABLED=false
这会禁用石英仪器,并且会避免在您的情况下过度创建跨度。
您还可以使用 fine-grained 方法进一步控制,您可以使用如下语法排除特定 类 的检测:
otel.javaagent.exclude-classes="my.package.MyClass,my.package2.*"
或者配合环境变量:
OTEL_JAVAAGENT_EXCLUDE_CLASSES="my.package.MyClass,my.package2.*"
这是关于如何抑制特定代理检测的完整文档:https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/suppressing-instrumentation.md#suppressing-specific-agent-instrumentation
为了解决这个问题,我们禁用了 quartz 的自动检测:
-Dotel.instrumentation.quartz.enabled=false
并为我们自己的扩展提供了一个采样器,以识别石英提供的跨度。您可以在此官方示例中找到有关扩展的更多信息 https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/examples/extension