分散トレース解析
Traceは観測可能性データの3つの柱の1つです。リクエストの完全な実行を追跡し、スパン(各サービス内の実行間隔)とそれらの呼び出し関係で構成されます。Traceは分散システムにおけるリクエストのパフォーマンスと異常の分析に不可欠です。
Tracesページでtraceを分析できます:関心のあるtrace(例:長時間実行されるもの)を特定し、特定のtraceを可視化してそのスパンを詳しく調べます。
以下に示すように、Tracesページは4つのエリアで構成されています:
- データ選択エリア(上部):traceデータソース(Datasource、Database、Table)、時間フィールド、時間範囲を選択します。
- フィルタエリア(左側):Service、Operation、Tags、Durationによってtraceをフィルタします。
- Trace分布エリア(右上):一致するtraceの散布図 — X軸はtrace開始時間、Y軸はtrace期間、バブルサイズはtrace内のスパン数です。散布図は長時間実行される、または大きなスパンを持つ「大きな」traceを素早く発見するのに役立ちます。バブルをクリックすると、そのtraceの詳細がウォーターフォールチャートで表示されます。
- Traceリストエリア(右下):service、operation、trace_id、trace期間、スパン数などを表示する一致するtraceのリストです。デフォルトのソート
Most Recentは、開始時間の降順で最新のtraceをリストします。ソートを切り替えて、最長/最短のtraceや最多/最少スパンのtraceを表示できます。

traceをクリックすると、詳細なTrace Panelが開き、そのtrace内のスパンをさらに分析できます:
- traceのコールチェーンミニマップとウォーターフォールチャート(各スパンの実行ウィンドウと呼び出し関係を含む)を表示します。
- スパンをクリックして、開始時間、期間、Span AttributesとResource Attributesを含むコンテキスト情報を表示します。
- Span Filterをクリックして、Service Name、Span Name、Duration、Tagsなどによってスパンをフィルタします。

一般的なフィルタ例
serviceによるフィルタ
Service = frontend-web
指定されたサービスによって生成されたトレースを素早く表示します。

operationによるフィルタリング
Operation = HTTP POST
特定のエンドポイントやリクエストタイプを特定するのに便利です。

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

期間でフィルタリング
Min Duration = 100ms ``Max Duration = 1.2s
遅いリクエストを素早く特定します。

ソートとページネーション
トレースリストは複数のソートオプションをサポートしています:
- 最新順
- 最長/最短期間順
- 最多/最少スパン数順
また、ページネーションによる閲覧もサポートしています。
