トレースメトリクス

概要

トレース収集の有効化とアプリケーションのインスツルメントを行うと、トレースアプリケーションメトリクスが収集されます。

トレースメトリクス

これらのメトリクスは、リクエスト回数、エラー回数、およびレイテンシーの測定値をキャプチャします。これらは、トレース取り込みサンプリングの構成に関係なく、アプリケーションの 100% のトラフィックに基づいて計算されます。これらのメトリクスを使用して、サービスやリソースの潜在的なエラーを発見し、ダッシュボード、モニター、SLO を作成することで、アプリケーションのトラフィックを完全に可視化することができます。

トレースメトリクスは、インテグレーション言語によって、サービスエントリースパンや特定のオペレーションに対して生成されます。例えば、Django インテグレーションでは、様々な操作を表すスパン (Django リクエスト用のルートスパン 1 つ、各ミドルウェア用のスパン 1 つ、ビュー用のスパン 1 つ) からトレースメトリクスを生成しています。

トレースメトリクスのネームスペースは、次のようなフォーマットになっています。

  • trace.<スパン名>.<メトリクスサフィックス>
  • trace.<スパン名>.<メトリクスサフィックス>.<第 2 プライマリタグ>_service

次の定義と組み合わせます。

<SPAN_NAME>
操作の名前または span.name(例: redis.commandpylons.requestrails.requestmysql.query)。
<METRIC_SUFFIX>
メトリクスの名前(例: durationhitsspan_count)。以下のセクションを参照してください。
<2ND_PRIM_TAG>
メトリクス名が 第 2 プライマリタグを考慮する場合、このタグはメトリクス名の一部です。
<TAGS>
トレースメトリクスタグ、可能なタグは、envserviceversionresourcesublayer_typesublayer_servicehttp.status_codehttp.status_class、Datadog Agent タグ(ホストと第 2 プライマリタグを含む)です。注: スパンに設定されたタグは数に含められず、トレースメトリクスのタグとして利用できません。

メトリクスサフィックス

Hits

trace.<SPAN_NAME>.hits
前提条件: このメトリクスは、すべての APM サービスに存在します。
説明: 特定のスパンのヒット数を表します。
メトリクスタイプ: COUNT
タグ: envserviceversionresourcehttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ
trace.<SPAN_NAME>.hits.by_http_status
前提条件: このメトリクスは、http メタデータが存在する場合 HTTP/WEB APM サービスに存在します。
説明: 特定のスパンのブレイクダウンの HTTP ステータスコード別ヒット数を表します。
メトリクスタイプ: COUNT
タグ: envserviceversionresourcehttp.status_classhttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ

レイテンシー分布

trace.<SPAN_NAME>
前提条件: このメトリクスは、どの APM サービスにも存在します。
説明: 異なる環境と第 2 プライマリタグにまたがるすべてのサービス、リソース、およびバージョンのレインテンシー分布を表現します。
メトリクスタイプ: DISTRIBUTION
タグ: envserviceresourceresource_nameversionsynthetics第 2 プライマリタグ

エラー

trace.<SPAN_NAME>.errors
前提条件: このメトリクスは、すべての APM サービスに存在します。
説明: 特定のスパンのエラー数を表します。
メトリクスタイプ: COUNT
タグ: envserviceversionresourcehttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ
trace.<SPAN_NAME>.errors.by_http_status
前提条件: このメトリクスは、すべての APM サービスに存在します。
説明: 特定のスパンのエラー数を表します。
メトリクスタイプ: COUNT
タグ: envserviceversionresourcehttp.status_classhttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ

スパン数

: これは非推奨のネームスペースです。

trace.<SPAN_NAME>.span_count
前提条件: このメトリクスは、すべての APM サービスに存在します。
説明: 特定のインターバルで収集されたスパンの量を表します。
メトリクスタイプ: COUNT
タグ: envserviceresource、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ
trace.<SPAN_NAME>.span_count.by_http_status
前提条件: このメトリクスは、http メタデータが存在する場合 HTTP/WEB APM サービスに存在します。
説明: 特定のインターバルブレイクダウンで収集されたスパンの量を HTTP ステータスコード別に表します。
メトリクスタイプ: COUNT
タグ: envserviceresourcehttp.status_classhttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ

Duration

このトレースメトリクスの使用方法は時代遅れです。代わりに、DDSketch を使用してディストリビューションメトリクスをトレースすることが推奨されます。
trace.<SPAN_NAME>.duration
前提条件: このメトリクスは、どの APM サービスにも存在します。
説明: [レガシー] 収集サービスで見られる子スパンを含む、時間間隔内のスパンの収集の合計時間を測定します。このメトリクスは、「下流サービスの % 実行時間」グラフを生成するために使用されます。trace.<SPAN_NAME>.durationtrace.<SPAN_NAME>.hits で割ると、平均レイテンシーが得られますが、これは平均レイテンシーを計算するための推奨アプローチではありません。平均レイテンシーの計算には、レイテンシー分布のセクションを参照してください。
メトリクスタイプ: GAUGE.
タグ: envserviceresourcehttp.status_code、Datadog Host Agent のすべてのホストタグ、および 2 番目のプライマリタグ

継続時間

このトレースメトリクスの使用方法は時代遅れです。代わりに、DDSketch を使用してディストリビューションメトリクスをトレースすることが推奨されます。
trace.<SPAN_NAME>.duration.by_http_status
前提条件: このメトリクスは、http メタデータが存在する場合 HTTP/WEB APM サービスに存在します。
説明: 各 HTTP ステータスのスパンの収集にかかる合計時間を計測します。具体的には、1 回のインターバルおよび特定の HTTP ステータスで、すべてのスパンにかかった相対時間(子処理を待機していた時間を含む)です。
メトリクスタイプ: GAUGE
タグ: envserviceresourcehttp.status_classhttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ
trace.<SPAN_NAME>.duration.by_service
前提条件: このメトリクスは、すべての APM サービスに存在します。
説明: 各サービスで実際にかかった総処理時間を計測します(子処理を待機していた時間は除外されます)。
メトリクスタイプ: GAUGE
タグ: envserviceresourcesublayer_servicehttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ
trace.<SPAN_NAME>.duration.by_type
前提条件: このメトリクスは、すべての APM サービスに存在します。
説明:サービスタイプで実際にかかる処理の合計時間を計測します。
メトリクスタイプ: GAUGE
タグ: envserviceresourcesublayer_typehttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ
trace.<SPAN_NAME>.duration.by_type.by_http_status
前提条件: このメトリクスは、http メタデータが存在する場合 HTTP/WEB APM サービスに存在します。
説明:サービスタイプおよび HTTP ステータスコードで実際にかかった処理の合計時間を計測します。
メトリクスタイプ: GAUGE
タグ: envserviceresourcesublayer_typehttp.status_classhttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ
trace.<SPAN_NAME>.duration.by_service.by_http_status
前提条件: このメトリクスは、http メタデータが存在する場合 HTTP/WEB APM サービスに存在します。
説明:サービスおよび HTTP ステータスコードで実際にかかった処理の合計時間を計測します。
メトリクスタイプ: GAUGE
タグ: envserviceresourcesublayer_servicehttp.status_classhttp.status_code、Datadog Host Agent からのすべてのホストタグ、第 2 プライマリタグ

Apdex

trace.<SPAN_NAME>.apdex
前提条件: このメトリクスは、すべての HTTP/WEB APM サービスに存在します。
説明: 各ウェブサービスの Apdex スコアを計測します。
メトリクスタイプ: GAUGE
タグ: envserviceresource / resource_nameversionsynthetics第 2 プライマリタグ

次のレガシー apdex メトリクスは非推奨になりました。

trace.<SPAN_NAME>.apdex.by.resource_<2ND_PRIM_TAG>_service
前提条件: このメトリクスは、すべての HTTP/WEB APM サービスに存在します。
説明: リソース、第 2 プライマリタグ、サービスのすべての組み合わせの Apdex スコアを表します。
メトリクスタイプ: GAUGE
タグ: envserviceresource / resource_name第 2 プライマリタグ
trace.<SPAN_NAME>.apdex.by.resource_service
前提条件: このメトリクスは、すべての HTTP/WEB APM サービスに存在します。
説明: リソースとウェブサービスの各組み合わせの Apdex スコアを計測します。
メトリクスタイプ: GAUGE
タグ: envserviceresource / resource_name
trace.<SPAN_NAME>.apdex.by.<2ND_PRIM_TAG>_service
前提条件: このメトリクスは、すべての HTTP/WEB APM サービスに存在します。
説明: 第 2 プライマリタグとウェブサービスの各組み合わせの Apdex スコアを計測します。
メトリクスタイプ: GAUGE
タグ: envservice第 2 プライマリタグ
trace.<SPAN_NAME>.apdex.by.service
前提条件: このメトリクスは、すべての HTTP/WEB APM サービスに存在します。
説明: 各ウェブサービスの Apdex スコアを計測します。
メトリクスタイプ: GAUGE
タグ: envservice

その他の参考資料