概要
スパンのメタデータは属性とタグで構成されています。
トレースエクスプローラーから、任意のスパンタグと属性でスパンをクエリすることができます。
予約済み属性
予約属性は、全てのスパンに存在するスパン属性のサブセットです。これらの属性は、先頭に @ の文字を付けずにクエリ可能です。予約属性として用意されているのは、env、service、operation_name、resource_name、status、ingestion_reason、trace_id です。これらの用語の完全な定義については、APM の用語と概念を参照してください。
スパン属性
スパン属性はスパンの内容を表します。これらは、トレースライブラリによる自動インスツルメンテーションでデフォルト収集される場合、カスタムインスツルメンテーションで手動収集される場合、あるいはソース属性に基づき Datadog バックエンドで再マッピングされる場合があります (例: 一部のソース属性から再マッピングされるピア属性)。特定のスパン属性で検索するには、属性キーの先頭に @ を付けてください。
例えば、Postgres データベースの users テーブルへの呼び出しを表すスパンを見つけるには、次のクエリを使用します: @peer.db.name:users @peer.db.system:postgres
スパンタグ
スパンタグは、スパンに関するコンテキストを補強するタグであり、スパンを発行するサービスが動作するホストやコンテナに基づいて付加されます。スパンタグで検索する際は、属性キーの先頭に @ を付ける必要はありません。
ファセット
スパンタグや属性に加えて、ファセットを作成することで、属性を適切な型 (例: 文字列や int) にマッピングし、これらの属性をファセットリストに表示することができます。
注: ファセットの作成は、スパンの検索、スパンからのメトリクス生成、保持フィルターによるスパンのインデックス化には必要ありません。
定性的ファセット
次が必要な場合は、定性的ファセットを使用します。
- 値の相対的な洞察を得る。例えば、
datacenter スパンタグにファセットを作成し、遅いリクエストが検出されたときに、特定の地域に調査を絞り込むことができます。 - ユニークな値を数える。例えば、
usr.email にファセットを作成して、特定のリソースをロードする際に、何人の異なるユーザーがエラーを経験したかを確認します。 - 特定の値に対してスパンを頻繁にフィルタリングする。たとえば、環境タグのファセットを作成して、トラブルシューティングを開発、ステージング、または本番環境にまで絞り込みます。
注: タグのフィルタリングにファセットは必須ではありませんが、調査中に頻繁に使用するタグのファセットを定義すると、解決までの時間を短縮するのに役立ちます。
定量的ファセット (メジャー)
次が必要な場合は、メジャーを使用します。
- 複数のトレースから値を集計する。たとえば、Cassandra の行数にメジャーを作成し、リクエストされたファイルサイズの合計ごとに最上位の参照元または p95 を表示します。
- ショッピングカートの値が $1000 を超えるなど、サービスの最もレイテンシーの高いものを数値的に計算する。
- 連続する値をフィルタリングする。たとえば、ビデオストリームの各ペイロードチャンクのサイズ (バイト単位)。
メジャータイプ
メジャーには、同等の機能のために、(長) 整数またはダブル値があります。
単位
メジャーは、クエリ時および表示時の桁数を処理するための単位 (time (秒) または size (バイト)) をサポートしています。単位は、メジャー自体のプロパティであり、フィールドのプロパティではありません。
例えば、duration というメジャーをナノ秒単位で考えてみましょう。例えば、service:A からのスパンが duration:1000 で、1000 milliseconds を意味するとします。service:B からのスパンは duration:500 で、500 microseconds を意味すると仮定します。duration:>20ms を使用すると、一度に両方のサービスのスパンタグを一貫してクエリすることができます。クエリに関するより詳しい情報は、クエリ構文を参照してください。
ファセットパネル
検索バーを使うと、包括的かつインタラクティブにデータをフィルタリングしグループ化することができます。ただし、多くの場合は、ファセットパネルを使った方がよりわかりやすくデータに移動できます。ファセットを開くと、現在のクエリのスコープのコンテンツのサマリーが表示されます
検索バーと URL には、ファセットパネルで選択した内容が自動的に反映されます。
- ファセット (定性的) には、一意の値の上位リストと、それぞれに一致するスパンの数が用意されています。
- メジャー (定量的) には、最小値と最大値を示すスライダーが付いています。スライダーを使用するか、数値を入力して、検索クエリを別の範囲に絞り込みます。
ファセットを非表示にする
組織には、トレースを使用するさまざまなチーム全体でユースケースに対処するための多くのファセットがあります。ほとんどの場合、これらのファセットのサブセットのみが、特定のトラブルシューティングのコンテキストで価値があります。
日常的に必要としないファセットを非表示にし、トラブルシューティングセッションに最も関連性の高いファセットのみを残すことができます。
必要に応じて、ファセットは非表示にしてもファセット検索に表示されます(ファセットのフィルターセクションを参照)。ファセット検索から非表示のファセットを再表示します。
非表示のファセットとチームメイト
ファセットの非表示は、自身のトラブルシューティングコンテキストに固有の操作で、保存ビューを更新しない限り、チームメイトのビューには影響を与えません。非表示のファセットは、保存ビューに保存されたコンテキストの一部です。
ファセットのグループ化
ファセットは、ファセットリスト内で意味のあるテーマにグループ化されます。ファセットグループの割り当てや再割り当てはファセットリストにしか影響せず、検索や分析には影響しません。
ファセットのフィルタリング
ファセットパネルのファセットの検索ボックスを使用して、ファセットリスト全体を絞り込み、操作する必要がある 1 つのファセットにすばやく移動することができます。ファセット検索では、ファセット表示名とフィールド名を使用して、結果の範囲を絞り込みます。
ファセットの作成
スパン属性/タグにファセットを作成することは、スパンを検索するための必須の手順ではありません。ファセットは、特定のスパン属性に意味のある説明を追加したい場合や、スパン属性の値をスパン リストの左側にあるファセット リストに表示させたい場合に便利です。
トレースサイドパネルからのファセット作成
ファセットを作成する最も簡単な方法は、ファセットの詳細の大部分 (フィールドパスや基礎となるタイプなど) が事前に入力されるように、トレースサイドパネルからファセットを追加することです。トレースエクスプローラーで、ファセットの作成対象となるフィールドを含む任意のスパンに移動します。リストからスパンを選択し、そのスパンのトレースサイドパネルを開きます。目的のフィールドをクリックし (スパンタグまたはインフラストラクチャータグのいずれか)、そこからファセットを作成します。
- フィールドに数値がある場合、ファセットまたはメジャーのいずれかを作成できます。
- フィールドに文字列値がある場合、ファセットの作成のみが可能です。
ファセットリストからのファセット作成
目的のフィールドを持つスパンを見つけることができない場合は、+ Add をクリックして、ファセットパネルから直接ファセットを作成します。
このファセットの基底のフィールド(キー)名を定義します。
- インフラストラクチャータグにタグキー名を使用します。
- プレフィックス
@ がある、スパン属性の属性パスを使用します。
現在のビューのスパンの内容に基づいてオートコンプリート機能が働くためは、適切なフィールド名を定義しやすくなっています。ただしここでは、特に Datadog が受信したスパンに一致するものがない場合は、実際はどんな値でも使用できます。
その他の参考資料