メインコンテンツまでスキップ

分散トレース解析

Traceは可観測性データの3つの柱の1つです。リクエストの完全な実行を追跡し、各サービス内の実行間隔であるspanと、それらの呼び出し関係で構成されます。Traceは分散システムにおけるリクエストのパフォーマンスと異常を分析するために不可欠です。

Tracesページでtraceを分析できます:関心のあるtrace(例:長時間実行されているもの)を特定し、特定のtraceを可視化してそのspanを詳しく調べます。

以下に示すように、Tracesページは4つのエリアで構成されています:

  1. データ選択エリア(上部):traceデータソース(Datasource、Database、Table)、時間フィールド、時間範囲を選択します。
  2. フィルターエリア(左側):Service、Operation、Tags、Durationによってtraceをフィルタリングします。
  3. Trace分布エリア(右上):一致するtraceの散布図 — X軸はtrace開始時間、Y軸はtrace期間、バブルサイズはtrace内のspan数です。散布図は長時間実行または大きなspanの「大きな」traceを素早く発見するのに役立ちます。バブルをクリックすると、そのtraceの詳細がウォーターフォールチャートとして表示されます。
  4. Traceリストエリア(右下):service、operation、trace_id、trace期間、span数などを表示する一致するtraceのリストです。デフォルトソートMost Recentは開始時間の降順で最新のtraceをリストします。ソートを切り替えて最長/最短のtraceや最多/最少spanのtraceを表示できます。

Traces page overview

traceをクリックすると豊富な詳細を含むTrace Panelが開き、そのtrace内のspanをさらに分析できます:

  1. traceのコールチェーンミニマップとウォーターフォールチャートを表示し、各spanの実行ウィンドウと呼び出し関係を含みます。
  2. spanをクリックして開始時間、期間、Span AttributesとResource Attributesを含むコンテキスト情報を表示します。
  3. Span FilterをクリックしてService Name、Span Name、Duration、Tagsなどでspanをフィルタリングします。

Trace Panel details

一般的なフィルター例

serviceでフィルタリング

Service = frontend-web

指定されたサービスによって生成されたトレースを素早く表示します。

Filter by service

operationでフィルタ

Operation = HTTP POST

特定のエンドポイントやリクエストタイプを見つけるのに便利です。

Filter by operation

タグでフィルタ

upstream_cluster.name="flagservice"

logfmt key=value 構文を使用してスパン属性でフィルタリングします。

Filter by tags

期間でフィルタリング

Min Duration = 100ms ``Max Duration = 1.2s

遅いリクエストを素早く特定します。

Filter by duration

ソートとページネーション

トレースリストは複数のソートオプションをサポートしています:

  • 最新順
  • 最長 / 最短期間
  • 最多 / 最少スパン

また、ページネーションによるブラウジングもサポートしています。

Sorting and pagination