otel-java について
otel-javaは、JavaサービスにおけるOpenTelemetryのリファレンススキルです。設定、機密データの収集、出力されるテレメトリーの資料へ案内し、上流ドキュメントとバージョン別の情報を参照します。
主な機能
- 01Java設定資料への入口
- 02宣言型YAML設定のリファレンス
- 03HTTPとSQLの機密データ収集情報
- 04Ecosystem Explorerによるテレメトリー確認
- 05バージョン別の上流情報参照
活用シーン
- 01Javaサービスの宣言型設定
- 02HTTPパラメーターやヘッダー収集設定の確認
- 03Javaライブラリーが出力するテレメトリーの調査
- 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、エージェント専用のプロパティ、手動計装のエントリーポイント。 |
references/sensitive-data-capture.md | HTTP 計装がデフォルトで取得する内容(クエリ文字列は ON、ヘッダー/パラメーターは OFF)、クエリパラメーターのマスキング(sensitive-query-parameters)、ヘッダー/サーブレットパラメーターの取得設定、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 と推奨される 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 の宣言型設定スモークテスト用フィクスチャ(選択したエージェントタグにおけるパーサーの正確な情報) | WebFetch https://raw.githubusercontent.com/open-telemetry/opentelemetry-java-instrumentation/<selected-agent-tag>/smoke-tests/src/test/resources/declarative-config.yaml |
| Javaagent の変更履歴(各スキーマの 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/ |
| 計装ごとのテレメトリーと設定(解決されたスパン/属性、メトリクス、設定オプション、対象バージョン) | WebFetch https://explorer.opentelemetry.io/data/javaagent/instrumentations/<id>/<id>-<hash>.json — <id> と最新の <hash> はインデックスから取得してください(以下を参照)。 |
インストルメンテーションが出力するテレメトリーとは?
「ライブラリ X に対してエージェントが何を生成するか」――どのスパン、属性、メトリクス、設定項目があるか――を調べるには、OpenTelemetry Ecosystem Explorerを使用してください。Java エージェントの全情報がマッピングされており、エージェント向けの使いやすい形式(Markdown のインデックスと解決済み JSON。スクレイピングは不要)で情報を提供します。モデルの記憶に基づいて回答しないでください。
操作手順:
WebFetch https://explorer.opentelemetry.io/agent/javaagent/index.md— 表示名 →id→ インストルメンテーションの JSON データ URL(URL にはコンテンツの<hash>が含まれます)の対応表です。- その JSON URL を
WebFetchで取得します — 解決済みのconfigurations、telemetry(span_kindと型付き属性を含むスパン、およびmetrics)、javaagent_target_versions、semantic_conventions、scopeを含む、自己完結した 1 件のレコードです(数 KB)。
バージョン固有の情報や「リリース間で何が変わったか」を調べる場合:
https://explorer.opentelemetry.io/agent/javaagent/versions.mdにはバージョンが記載され、最新バージョンが示されています。
https://explorer.opentelemetry.io/data/javaagent/versions/<version>-index.jsonには、あるバージョンのid→hashマップがあります。同じidのhashが 2 つのバージョン間で異なる場合、そのインストルメンテーションは変更されています。スキーマ:
https://explorer.opentelemetry.io/schemas/javaagent-instrumentation.schema.json。エージェント向けのインデックスには/llms.txtを、ドキュメント全体には/llms-full.txtを使用してください。
GitHub 上の生のecosystem-registry YAML よりも、この Explorer のデータを優先してください。Explorer は、生のレジストリには反映されていない上流のメタデータ修正を適用しています。
相互参照
- スキーマレベルの情報:
otel-declarative-configスキル(言語に依存しない YAML スキーマのソース)。 - 言語をまたいだ SDK バージョンの選択:
otel-sdk-versionsスキル。 - セマンティック規約の検索:
otel-semantic-conventionsスキル。