You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用otel.instrumentation.common.default-enabled=true后CPU过高,需明确默认OTEL特性

定位OTEL Agent默认配置CPU过高问题的方案

一、默认启用特性的确认方式

OTEL Java Agent 2.1.0版本的默认启用 instrumentation 没有单独的汇总文档,但有两个权威途径可以确认:

  • 查看Agent内置配置文件:直接解压Agent的jar包,找到META-INF/opentelemetry/instrumentation-metadata.yaml,里面每个instrumentation条目都有default-enabled字段,值为true的就是默认开启的。比如JDBC、Servlet、Spring Web、OkHttp这些主流框架的 instrumentation 都是默认启用的。
  • 单instrumentation文档:每个具体instrumentation的官方说明页面里,会明确标注是否默认启用,你可以逐个查看怀疑的组件文档。

二、CPU过高的定位步骤

  1. 逐个排查instrumentation
    先保持otel.instrumentation.common.default-enabled=false,然后逐个开启默认启用的instrumentation(通过otel.instrumentation.<NAME>.enabled=true指定),每次开启后观察CPU变化,很快就能找到导致问题的组件。
  2. 用性能工具分析调用栈
    借助Java Flight Recorder或者AsyncProfiler生成CPU采样快照,重点关注io.opentelemetry.instrumentation包下的方法调用占比,哪个方法CPU占用最高,对应的就是有性能问题的instrumentation。
  3. 检查版本兼容性
    你使用的是基于Java8编译的2.1.0版本Agent,运行在Java17环境下,虽然官方宣称兼容,但部分老版本instrumentation在Java17的模块化或新特性下可能存在性能损耗。不妨尝试升级到适配Java17的Agent版本,或者直接使用最新稳定版,很多已知的性能问题在新版本中已被修复。

三、快速排查小技巧

如果觉得逐个开启instrumentation效率低,可以采用二分法:先开启一半默认启用的组件,观察CPU情况,再根据结果缩小范围,能大幅缩短排查时间。

内容的提问来源于stack exchange,提问作者Chip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:52:11