NRQL を使用すると、 バケット
関数 を使用して、クエリ結果を特定の範囲をカバーするバケットに分割することができます。
バケット化されたNRQLクエリの作成
バケット化された結果を返すには、NRQL クエリで FACET buckets()
句を使用します。バケット・クエリは次のような構造になっています。
SELECT FUNCTION(ATTRIBUTE)
FROM DATA_TYPE
FACET buckets(ATTRIBUTE, CEILING_VALUE, NUMBER_OF_BUCKETS)
バケッティングは、New Relic のデータベースに数値として保存されているあらゆる属性に使用することができます。
バケットクエリの例
データベースコールの範囲の平均継続時間を示すチャートを作成するには、次のようにします。
- 属性に対して
SELECT
文を持つNRQL文を作成します。例えば、SELECT average(duration)
. - 別の属性のバケットにファセットする
FACET
節を追加します。例えば、buckets(databaseCallCount,400,10)
.
このクエリは、10個のバケットのそれぞれについて、上限を400とした場合の平均継続時間を計算します。上限の400を超えるすべての値は、最後のバケットである「>=360.0」にまとめられます。
SELECT average(duration) FROM Transaction SINCE 12 hours ago FACET buckets(databaseCallCount, 400, 10)
このクエリは以下の結果を返します。
ここでは、セグメントを 10 個のバケットに分けた NRQL クエリの例を示します。一番下のバケットには異常値が含まれているので、適宜調整するとよいでしょう。