distributed-tracing について
distributed-tracingは、OpenTelemetryでサービスの処理経路を計装するエンジニア向けの実装ガイドです。コンテキスト伝播、エクスポーターとバックエンドの設定、プライバシー確認、ステージングリクエストによる検証を扱い、トレースバックエンドはインストールしません。
主な機能
- 01OpenTelemetry SDKとOTLPエクスポーターの設定
- 02サービス間およびメッセージでのコンテキスト伝播
- 03Jaegerまたは既存Tempo/collectorの設定
- 04スパンとエクスポーター動作の検証
- 05プライバシー、保存、保持期間の確認
活用シーン
- 01サービス境界をまたぐリクエストの追跡
- 02レイテンシとエラー伝播の診断
- 03ステージングトラフィックによる追跡検証
- 04エクスポーター障害と終了時動作の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill distributed-tracingインストール後、Claude Code で/distributed-tracingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/instrumentation.mdjaeger-setup.mdresources/implementation-playbook.md詳細
分散トレーシング
使用する場面
サービスをまたいでリクエストを追跡する場合、レイテンシやエラーの伝播を診断する場合、または新しい統合に可観測な境界を追加する場合に使用します。
入力と前提条件
インストールされている SDK とバックエンドのバージョン、許可されたコレクターのエンドポイント、サービスグラフ、およびステージングリクエストを記録します。エクスポーター API やデプロイ構成を選択する前に、インストールされているバージョンの主要なドキュメントを確認してください。このバンドルはトレーシングバックエンドをインストールしません。
手順
resources/implementation-playbook.mdを読み、1 つのユーザージャーニーを特定します。- 計装されたフレームワークを読み込む前に、対応する OpenTelemetry SDK と OTLP エクスポーターを構成します。伝播、シャットダウン、プライバシーのチェックには
references/instrumentation.mdを使用します。 references/jaeger-setup.mdを使用して Jaeger を構成するか、既存の Tempo/コレクターのデプロイでサポートされている構成を使用します。デプロイの前に、リスナー、認証、トランスポート保護、ストレージ、保持期間を確認してください。- HTTP と非同期メッセージを介してコンテキストを伝播します。安定した操作名と許可リストに登録された属性を使用します。認証情報、生のリクエストボディ、機密性の高いクエリ値をログに記録しないでください。
- 成功するステージングリクエストと失敗するステージングリクエストを送信し、バックエンドで接続されたスパンを検証します。サービスの識別情報、親子関係、期間の単位、エクスポーターのエラーを記録します。
- キューの損失とオーバーヘッドを測定します。これらの観測結果に基づいてサンプリングを選択します。固定のパーセンテージがカバレッジやパフォーマンスを保証するものではありません。
例
チェックアウトが在庫と支払いを呼び出します。ルートリクエストと両方のダウンストリーム操作が同じトレースを共有していること、シミュレートされた支払いタイムアウトが記録されていること、カードデータが存在しないことを検証します。エクスポーターの接続が利用できない状態で繰り返します。リクエスト処理はアプリケーションで定義された動作を維持する必要があります。
検証
- キューコンシューマーを含む、実行された各境界の実際のトレース証拠。
- 許可されたフィールドのみ。属性のカーディナリティが制限されていること。
- シャットダウン時のフラッシュとエクスポーター障害の動作が確認されていること。
- アクセス、ストレージ、保持期間が UI の可用性とは独立して確認されていること。
制限事項
ヘッドサンプリングは、テールサンプリングがエラーを確認する前にそれらを破棄する可能性があります。インメモリのデモは永続的なストレージを証明しません。コンテキストの伝播とサービス間のクロックには実際の統合テストが必要です。このガイドは実行可能なマルチサービスアプリケーションではありません。
出典
- OpenTelemetry エクスポータードキュメント — インストールされている SDK に対応するドキュメントを使用してください。