パーセンタイルを用いたディストリビューションメトリクスのロールアップアップデート?

この FAQ は、ある時間枠のディストリビューションのパーセンタイルをクエリするユーザー、またはある時間枠内の特定の間隔のパーセンタイルをクエリするユーザーに役立ちます。

時間集計 (.rollup(<aggregator>, <time interval>) とパーセンタイル集計を用いたディストリビューションでの動作が変更されました。

今回のロールアップアップデートにより、パーセンタイルを用いたディストリビューションに関する既存のクエリの値は変更されるのでしょうか?

いいえ、既存のクエリに影響はありません。.rollup <aggregator> パラメーターは、クエリ結果には影響しないが、結果の値の計算方法についてユーザーを混乱させる原因となっていたため、削除されました。

パーセンタイルを用いたディストリビューションについては、何がアップデートされたのでしょうか?

すでに p50p75p90p95p99 を選択している場合、.rollup(avg) のように時間集計を追加指定する必要がなくなりました。ロールアップには、データを集計する時間間隔を決定する <time interval> を指定するだけで良いことになります。

旧 UI

旧ロールアップ UI

新 UI

新ロールアップ UI

パーセンタイルを用いたディストリビューションで、ロールアップ/時間集計を指定できなくなったのはなぜですか?

ロールアップ <aggregator> パラメーターは、パーセンタイルでクエリされたディストリビューションメトリクスには影響しません。つまり、これらの 2 つのクエリは、どちらも 1 分間のロールアップ間隔で計算された同じ 99 パーセンタイル値を返すことになります。 クエリ #1: p99:distribution.rollup(avg, 60) クエリ #2: p99:distribution.rollup(60)

COUNT、GAUGE、RATE のメトリクスタイプは、最初に時間、次に空間で集計されますが、ディストリビューションメトリクスタイプは DDSketches として保存されます。パーセンタイルを用いたディストリビューションは、時間と空間で同時にマージされます。p99 by を選択すると、時間と空間における 99 パーセンタイルでディストリビューションメトリクスを集計することになります。

例: ダッシュボードのタイムフレームで過去 4 時間、p99:distribution.rollup(60) でグラフ化するとします。 Datadog は、スケッチデータをサーバー側でマージして、1 分のロールアップ間隔 (ダッシュボードの時間枠である 4 時間内のすべての分について) を表現します。ロールアップが計算された後、Datadog は各分間隔の 99 パーセンタイル値を計算します。