4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

New Relicアップデート情報:累積分布関数の追加でNew Relic のクエリ言語 NRQLがさらに強力に!

4
Last updated at Posted at 2023-09-26

概要

 New Relic のクエリ言語 NRQL は、New Relic で収集されるデータを分析するための豊富な関数を持っています。2023年8月のアップデートでは、新たに累積分布関数が導入されました。この機能を用いることで、指定した閾値を基にデータの分布を計算することが簡単になります。例えば、バックエンドの応答時間や Core Web Vitals の分布を素早く可視化することが可能となります。

このアップデートの詳細はこちら。
New Relic アップデート(2023年8月)
New Relic アップデート一覧

New Relic株式会社のQiita Organizationでは、新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。

cdfPercentage の活用法

 cdfPercentage()は、指定した閾値以下の属性値のパーセンテージを算出する関数です。この関数を利用することで、特定の属性の値が指定閾値以下にどれだけのデータがあるのかをパーセンテージで得ることができます。

cdfPercentage(attribute, threshold \[, threshold \[, ...]])

 引数に設定できる属性( attribute )は、数値属性、もしくはメトリクスのタイプが distribution の属性を設定することが可能です。メトリクスのタイプについてはこちらの公式ドキュメントから詳細が確認可能です。

数値属性の場合

FROM PageView SELECT cdfPercentage(firstPaint, 0.5, 1.0)

cdfPercentage_num.png
メトリクスのタイプがDistributionの場合
metrics_type_distribution.png

SELECT cdfPercentage(`newrelic.goldenmetrics.synth.monitor.medianDurationS`, 3) 
FROM Metric SINCE 1 day AGO

cdfPercentage_metrics.png
 引数には閾値を複数設定することが可能で最大10個まで設定が可能です。

FROM PageView 
SELECT cdfPercentage(firstPaint, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0)

cdfPercentage_10.png

getCdfCount の活用法

 getCdfCount() は、累積分布関数で、値が閾値以下の属性値のデータの数を返す関数です。また、getCdfCount() は、 前述のcdfPercentage()と異なり集計関数ではありません。

getCdfCount(attribute, threshold)

 引数に設定できる属性( attribute )は、数値型属性、もしくはメトリクスのタイプが distribution の属性を設定することが可能です。メトリクスのタイプについてはこちらの公式ドキュメントから詳細が確認可能です。

数値型属性の場合

FROM PageView SELECT getCdfCount(firstPaint, 1.0)

スクリーンショット 2023-09-23 23.12.07.png
 getCdfCount()は集計関数ではないため、このように数値型の場合は、属性が閾値以下なら1を返し,そうでなければ0を返します。次にメトリクスのタイプがDistributionの場合を見てみましょう。

メトリクスのタイプがDistributionの場合

FROM Metric
SELECT getCdfCount(`newrelic.goldenmetrics.synth.monitor.medianDurationS`, 3) 
WHERE monitorName = 'Test'

getCdfCount_metrics.png
メトリクスのタイプがDistributionの場合、このようにデータセット内のデータ数を返します。

 このようにgetCdfCount()は集計関数ではないため、閾値以下のデータの総数を計算するわけではありません。集計する場合は、sum 関数を使って集計することで指定した閾値以下のデータの数を算出することが可能です。
スクリーンショット 2023-09-23 23.31.30.png

まとめ

 2023年8月のアップデートにより、累積分布関数のcdfPercentage()およびgetCdfCount()がNRQLに追加されました。これにより、データの分布を簡単にダッシュボードで可視化したり、特定のデータの割合や数にアラートを設定したりする作業が効率化されます。この新機能を活用して、データ分析の幅をさらに広げてみてください!

このアップデートの詳細はこちら。
New Relic アップデート(2023年8月)
New Relic アップデート一覧

New Relic株式会社のQiita Organizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?