11.3.5 Spanへ付加する情報
Spanに付加する情報の形式について説明します。付加する情報の形式は3パターンあります。
- 〈この項の構成〉
(1) スパンタグ
次のkey(情報名)、value(情報値)の形式で情報を取得します。分散トレース閲覧アプリケーションまたはサービスで、スパンタグの情報名、情報値を指定することで表示するトレースIDをフィルタできます。時間情報を必要としない情報の場合に、スパンタグに設定します。
例:受信した要求電文に含まれていたブランチXIDなど
|
|
|
|
|
|
|
|
(2) スパンイベント
Azure Monitor Application Insightsの場合、「図11‒19 スパンイベント(Azure Monitor Application Insightsの場合)」のmessage、情報説明の形式で情報を取得します。Jaeger-queryの場合、「図11‒20 スパンイベント形式1(Jaeger-queryの場合)」のスパンイベント形式1、「図11‒21 スパンイベント形式2(Jaeger-queryの場合)」のスパンイベント形式2のどちらかの形式で情報を取得します。Google Cloud PlatformのCloud Traceの場合、「図11‒22 スパンイベント(Google Cloud PlatformのCloud Traceの場合)」のkey(情報名)、value(情報値)、情報説明の形式で情報を取得します。New Relicの場合、「図11‒23 スパンイベント(New Relicの場合)」のmessage、情報説明の形式で情報を取得します。
スパンタグは、Span内での処理の実施時刻を取得でき、Span内で遅延した処理の確認などに使用できます。時間情報を必要とする場合にスパンイベントに設定します(例:I/O開始、終了時刻など)。messageに対し、処理ごとの情報説明を設定します。情報説明には、対象情報がどのようなイベントかを設定します(ファイルI/O開始など)。
|
|
Jaeger-queryの場合で、情報説明に加えてkey(情報名)、value(情報値)の形式で情報追加したいときは、スパンイベント形式2で情報を取得します。追加情報が不要であれば、スパンイベント形式1で取得します。
- スパンタグとスパンイベント形式2の使い分け
-
対象イベントだけに関わる情報の場合はスパンイベント形式2へ、対象Span全体に関わる情報の場合はスパンタグに設定します。例えば、あるSpan内でファイルI/Oする場合に、スレッド名やブランチXIDなどSpan全体に関わる情報はスパンタグに、ファイルI/Oの結果はスパンイベント形式2に設定します。
|
|
|
|
|
|
|
|
(3) スパンコンテキスト
次のkey(情報名)、value(情報値)の形式でプロセスに関する情報を取得します。分散トレース閲覧アプリケーションまたはサービスでスパンコンテキストの名称、値を指定することで表示するトレースIDをフィルタできます。
|
|
|
|
|
|
|
|