スライディング ウィンドウは、 SLIDE BY
句をTIMESERIES
句と組み合わせて使用してグラフを生成する手法です。スライディング ウィンドウでは、互いに重なり合う時間の「ウィンドウ」にデータが収集されます。
ヒント
スライドウィンドウは、条件 アドバンスドシグナル設定 のUIからも利用可能です。
例えば、下の画像では、クエリが5分間のウィンドウでデータを収集しています。ウィンドウ"は" を1分ずつスライドさせています。各ウィンドウは、前のウィンドウと4分ずつ重なっています。
5 分間のウィンドウと 1 分間の"スライド"
対照的に、「タンブリング」または「カスケード」ウィンドウでは、ウィンドウは重なりません。たとえば、次のTIMESERIES 3 minutes
NRQL クエリでは、ウィンドウの長さは 3 分間で、それぞれが開始されてから終了します。測定間隔に重複はありません。
オーバーラップしない3分間のウィンドウ"スライド".
スライドウィンドウを使用する場合
スライディングウィンドウは、"スパイキーな" チャートを平滑化する必要がある場合に役立ちます。一般的な使用例としては、スライディングウィンドウを使用して、短い期間の変動が大きい折れ線グラフを平滑化することが挙げられます。これは、狭い期間の集合体よりもローリング集合体(例えばローリング平均)の方が重要な場合です。
下の例では、データが1分ごとに大きく変化しているため、1分足のタンブリングウィンドウチャートでは、高い山と低い谷が多く見られます。
SLIDE BY 句を含まない TIMESERIES クエリ
ただし、この例では、幅 5 分のTIMESERIES
ウィンドウが 1 分のSLIDE BY
間隔を使用して平滑化されています。クエリは同様のデータを返しますが、より滑らかなグラフを作成します。
SLIDE BY 句を含む TIMESERIES クエリ
の有効な NRQL 構文 SLIDE BY
SLIDE BY
句の有効な NRQL 構文は、以下の形式に従います。
SELECT ... TIMESERIES integer1 units SLIDE BY integer2 units
integer1
はスライディング ウィンドウの幅を指定し、 integer2
はSLIDE BY
間隔を指定します。units
は、 second
、 minute
、 hour
、またはday
などの時間単位です。すべての標準 NRQL 時間単位が受け入れられます。
これが実際の例です。1 分のSLIDE BY
間隔で 5 分のTIMESERIES
ウィンドウが表示されます。
SELECT average(duration) from Transaction TIMESERIES 5 minutes SLIDE BY 1 minute
PromQLスタイルのクエリからの翻訳
該当する場合、PromQL スタイルのクエリは NRQL スライディングウィンドウクエリに変換されます。
たとえば、PromQL スタイルのクエリが過去 60 分間にrate(request_count[5m])
を使用し、1 分間のウィンドウが重複している場合、NRQL 翻訳は次のクエリになります。
SELECT rate(sum(request_count), 1 SECONDS) FROM Metric SINCE 3600 SECONDS AGO UNTIL NOW FACET dimensions() LIMIT 100 TIMESERIES 300000 SLIDE BY 60000
変換出力では、デフォルトのミリ秒単位がTIMESERIES
} 句とSLIDE BY
句に使用されます。TIMESERIES
の場合、300000 ミリ秒は 300 秒または 5 分であり、5 分のウィンドウ サイズを指定します。SLIDE BY
の場合、60000 ミリ秒は 60 秒で、スライド間隔を 1 分に指定します。
MAX
でSLIDE BY
を使用し、 AUTO
以下の例に示すように、 SLIDE BY
をMAX
およびAUTO
引数と組み合わせて、クエリ結果をさらに調整できます。
SELECT average(duration) FROM Transaction TIMESERIES 5 minutes SLIDE BY MAX
SELECT average(duration) FROM Transaction TIMESERIES 5 minutes SLIDE BY AUTO
ヒント
SLIDE BY
と組み合わせると、 TIMESERIES
はAUTO
またはMAX
をサポートしません。TIMESERIES
値は、整数の時間単位値でなければなりません。つまり、 SLIDE BY AUTO
またはSLIDE BY MAX
は機能しますが、 TIMESERIES AUTO
またはTIMESERIES MAX
の後にSLIDE BY
とMAX
、 AUTO
、または特定の整数時間単位を指定することはサポートされていません。
ヒント
AUTO
またはMAX
によって決定されるSLIDE BY
値は、ウィンドウ サイズよりも大きなステップ間隔を生成する可能性があり、ギャップや予期しない結果として表示されます。クエリ結果でこれらの問題が発生した場合は、ステップ間隔がウィンドウ サイズを超えているSLIDE BY
のインスタンスをチェックすることを検討してください。