メインコンテンツへ移動

分散トレーシング

Tempo + Grafana Alloy による分散トレース分析機能です。1 つのリクエストが複数のマイクロサービスを経由する際の呼び出し経路と所要時間を可視化し、サービス間の性能ボトルネックや異常を特定できます。左側の「分散トレーシング → トレース分析」から開きます。

トレース分析​

ページ上部にはサービス別に集計した 3 つの概要グラフ、下部には検索可能なトレース一覧が表示されます。

トレース分析

項目説明
Request Rate(リクエスト数 req/s)サービスごとのリクエストレート。サービス別に色分けされます
Error Rate(エラー数 5xx/s)サービスごとのサーバーエラーレート。異常があるサービスを把握できます
P95 Latency(P95 レイテンシー)サービスごとの 95 パーセンタイルのレイテンシー。応答が遅いサービスを特定できます
Recent Traces(トレース一覧)最近のトレースの詳細(Trace ID/サービス/操作/開始時刻/所要時間)
Top Service Calls(サービス間の呼び出し関係)頻度の高いサービス間呼び出しとそのレート。サービスの依存関係を確認できます

検索と詳細表示​

一覧の上部で複数の条件を指定して絞り込めます。

  • Service:サービスで絞り込みます。
  • Operation Keyword:操作名のキーワードで絞り込みます。
  • Min Duration (ms):指定した閾値を超えるトレースのみを表示し、遅いリクエストを特定します。
  • Error Filter:エラーが発生したトレースのみを表示します。
  • Trace ID:Trace ID を貼り付けると、下部にそのトレースのウォーターフォール図(各階層の span の所要時間)が展開され、詳細に調査できます。

一覧の Trace ID をクリックしても、そのリクエストの呼び出し全体のウォーターフォール図を表示できます。各 span がどのサービスで時間を要したかを確認してください。

トレースのウォーターフォール図とサービス間の呼び出し関係

まだ連携していない場合​

トレースデータは業務サービス側から OTLP で送信されます。手順は 分散トレーシングの連携 を参照してください。

補足

分散トレーシングは Kubernetes クラスター構成が対象です。単一サーバー(Docker Compose)構成には現在対応していないため、このページにデータは表示されません。

トレースデータの保持期間は ENV_TEMPO_RETENTION で設定します(デフォルトは 30 日間)。詳細は環境変数を参照してください。