mcpField
C
correlation-tracing

correlation-tracing

github.com/aj-geddesクラウド・DevOps373426 回インストール34 週間前に更新
リポジトリ

correlation-tracing について

複数サービスを含むシステムに相関 ID と分散トレーシングを導入するスキルです。Express、OpenTelemetry、Python のガイドを通じて、リクエストの追跡、エラー調査、性能把握を支援します。

主な機能

  1. 01相関 ID の生成と伝播
  2. 02サービス間のリクエスト追跡
  3. 03Express ミドルウェアのガイド
  4. 04OpenTelemetry 連携ガイド
  5. 05Python トレーシングと手動伝播

活用シーン

  1. 01マイクロサービス間のリクエスト追跡
  2. 02サービスをまたぐエラーの調査
  3. 03リクエストフローの可視化
  4. 04レイテンシと依存関係の分析

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill correlation-tracing

インストール後、Claude Code で/correlation-tracingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
correlation-id-middleware-express.md
manual-trace-propagation.md
opentelemetry-integration.md
python-distributed-tracing.md
scripts/
health-check.sh
templates/
dashboard-config.yaml

詳細

相関 ID と分散トレーシング

目次

概要

相関 ID と分散トレーシングを実装して、複数のサービスにまたがるリクエストを追跡し、システムの動作を把握します。

使用する場面

  • マイクロサービスアーキテクチャ
  • 分散システムのデバッグ
  • パフォーマンスのモニタリング
  • リクエストフローの可視化
  • サービス間のエラー追跡
  • 依存関係の分析
  • レイテンシの最適化

クイックスタート

最小限の動作例:

import express from "express";
import { v4 as uuidv4 } from "uuid";

// Async local storage for context
import { AsyncLocalStorage } from "async_hooks";

const traceContext = new AsyncLocalStorage<Map<string, any>>();

interface TraceContext {
  traceId: string;
  spanId: string;
  parentSpanId?: string;
  serviceName: string;
}

function correlationMiddleware(serviceName: string) {
  return (
    req: express.Request,
    res: express.Response,
    next: express.NextFunction,
  ) => {
    // Extract or generate trace ID
    const traceId = (req.headers["x-trace-id"] as string) || uuidv4();
    const parentSpanId = req.headers["x-span-id"] as string;
    const spanId = uuidv4();
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装については、references/ ディレクトリを参照してください。

ガイド内容
相関 ID ミドルウェア(Express)相関 ID ミドルウェア(Express)
OpenTelemetry の統合OpenTelemetry の統合
Python の分散トレーシングPython の分散トレーシング
手動でのトレース伝播手動でのトレース伝播

ベストプラクティス

✅ 推奨事項
  • エントリーポイントでトレース ID を生成します
  • サービス間でトレースコンテキストを伝播させます
  • ログに相関 ID を含めます
  • 構造化ログを使用します
  • 適切なスパン属性を設定します
  • トラフィックの多いシステムではトレースをサンプリングします
  • トレース収集のオーバーヘッドを監視します
  • コンテキスト伝播を実装します
❌ 禁止事項
  • トレース伝播を省略しないでください
  • 相関コンテキストなしでログを記録しないでください
  • スパンを作りすぎないでください
  • スパンに機密データを保存しないでください
  • トレースの報告中に処理をブロックしないでください
  • エラー追跡を忘れないでください

コメント