关于 otel-java
otel-java 是面向 Java 服务的 OpenTelemetry 参考技能,帮助按任务查找配置、敏感数据采集和遥测行为资料。它指引使用上游文档与 Ecosystem Explorer,并强调按版本核实信息。
主要功能
- 01提供 Java 配置参考入口
- 02覆盖声明式 YAML 配置资料
- 03说明 HTTP 与 SQL 敏感数据采集
- 04通过 Ecosystem Explorer 查找遥测
- 05按版本查阅上游事实
适用场景
- 01为 Java 服务设置声明式配置
- 02检查 HTTP 参数与请求头采集选项
- 03查询 Java Agent 对某库产生的遥测
- 04比较不同版本的检测配置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ollygarden/ opentelemetry-agent-skills --skill otel-java安装后在 Claude Code 中输入/otel-java确认已加载。
附带文件references/declarative-setup.mdreferences/sensitive-data-capture.md
详细介绍
Java 中的 OpenTelemetry
Java 服务中 OpenTelemetry 工作机制的入口。根据任务加载下方的参考文档;每份参考文档均可独立使用。
参考文档
| 文件 | 适用场景 |
|---|---|
references/declarative-setup.md | 通过声明式 YAML 配置 SDK:启用 Javaagent、Spring Boot Starter、自动配置 SDK、BOM、仅适用于 Agent 的属性以及手动插桩入口。 |
references/sensitive-data-capture.md | HTTP 插桩默认会捕获哪些内容(查询字符串开启,标头/参数关闭)、查询参数脱敏(sensitive-query-parameters)、标头/Servlet 参数捕获设置以及 SQL 清理。 |
信息来源
有关 YAML 架构的详细信息,请获取 otel-declarative-config 技能中列出的上游来源。
有关 Java 的具体信息:
| 信息 | 获取方式 |
|---|---|
最新 BOM(opentelemetry-bom) | gh api repos/open-telemetry/opentelemetry-java/releases/latest -q '.tag_name' |
| 最新 Javaagent | gh api repos/open-telemetry/opentelemetry-java-instrumentation/releases/latest -q '.tag_name' |
所选 BOM 标签对应的 SDK 声明式配置所接受和首选的 file_format | WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java/<selected-sdk-tag>/sdk-extensions/declarative-config/src/main/java/io/opentelemetry/sdk/autoconfigure/declarativeconfig/OpenTelemetryConfigurationFactory.java |
Javaagent 声明式配置文档(当前启用标志、支持的 file_format) | WebFetch https://opentelemetry.io/docs/zero-code/java/agent/declarative-configuration/ |
| Javaagent 声明式配置冒烟测试夹具(所选 Agent 标签对应的解析器准确信息) | WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/smoke-tests/src/test/resources/declarative-config.yaml |
| Javaagent CHANGELOG(各架构 rc 的发布情况) | WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/CHANGELOG.md |
| 生成的 Java 插桩配置参考(名称、类型、默认值、弃用情况) | WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/docs/declarative-configuration-example.yaml |
| Spring Boot Starter 声明式配置夹具(所选 Starter 标签) | WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/smoke-tests-otel-starter/spring-boot-2/src/testDeclarativeConfig/resources/application.yaml |
| Spring Boot Starter 文档 | WebFetch https://opentelemetry.io/docs/zero-code/java/spring-boot-starter/ |
| 每种插桩的遥测数据与配置(已解析的 span/属性、指标、配置选项、目标版本) | WebFetch https://explorer.opentelemetry.io/data/javaagent/instrumentations/<id>/<id>-<hash>.json — 从索引中获取 <id> 和最新的 <hash>(参见下文) |
instrumentation 会发出哪些遥测数据?
对于“库 X 的 Agent 会产生什么”这类问题——包括哪些 span、属性、指标或配置项——请使用 OpenTelemetry Ecosystem Explorer。它完整映射了 Java Agent,并提供适合 Agent 使用的界面(Markdown 索引和解析后的 JSON,无需抓取数据)。不要根据模型记忆作答。
导航:
WebFetch https://explorer.opentelemetry.io/agent/javaagent/index.md— 该表将显示名称映射到id,再映射到 instrumentation 的 JSON 数据 URL(URL 中嵌入了内容<hash>)。- 对该 JSON URL 使用
WebFetch— 获取一条独立完整的记录(几 KB):包含解析后的configurations、telemetry(带有span_kind和类型化属性的 spans,以及metrics)、javaagent_target_versions、semantic_conventions和scope。
特定版本或“版本之间有哪些变化”:
https://explorer.opentelemetry.io/agent/javaagent/versions.md 列出版本并标记最新版本;
https://explorer.opentelemetry.io/data/javaagent/versions/<version>-index.json 提供某个版本的 id→hash 映射——同一 id 在两个版本中的 hash 不同,表示该 instrumentation 发生了变化。Schema:
https://explorer.opentelemetry.io/schemas/javaagent-instrumentation.schema.json;使用 /llms.txt 获取面向 Agent 的索引,使用 /llms-full.txt 获取完整文档。
优先使用 Explorer 数据,而不是 GitHub 上原始的 ecosystem-registry YAML:Explorer 会应用上游元数据修正,而原始注册表不会。
交叉引用
- Schema 级事实:
otel-declarative-config技能(与语言无关的 YAML schema 来源)。 - 跨语言 SDK 版本选择:
otel-sdk-versions技能。 - 语义约定查询:
otel-semantic-conventions技能。