timeSeriesLastTwoSamples
タイムスタンプと値のペアとして渡された時系列データから、最大で直近2件のサンプルのみを保持する集約関数です。
引数:
timestamp- サンプルのタイムスタンプvalue-timestampに対応する時系列の値
また、同じサイズの配列として、複数のタイムスタンプと値のサンプルを渡すこともできます。
戻り値:
Tuple(Array(DateTime), Array(Float64)) - 長さが 0 から 2 の範囲の、同じ長さを持つ 2 つの配列から成るペア。1 つ目の配列にはサンプリングされた時系列のタイムスタンプが含まれ、2 つ目の配列にはそれに対応する時系列の値が含まれます。
例: この集約関数は、グリッドに揃えたタイムスタンプに対して再サンプリングされた時系列データを保存するマテリアライズドビューと集約テーブルでの利用を想定しています。 以下の生データ用テーブルと、再サンプリングされたデータを保存するテーブルの例を考えます。
いくつかテストデータを挿入し、'2024-12-12 12:00:12' から '2024-12-12 12:00:30' の間のデータを読み取ります
タイムスタンプ '2024-12-12 12:00:15' および '2024-12-12 12:00:30' の直近 2 件のサンプルをクエリします:
集約テーブルは、15 秒間隔に揃えられた各タイムスタンプについて、最新 2 つの値のみを保存します。これにより、生データのテーブルに保存されているデータ量よりはるかに少ないデータを読み込むだけで、PromQL の irate や idelta と同様の計算を行うことができます。
注記
この関数は実験的機能です。allow_experimental_ts_to_grid_aggregate_function=true を設定して有効化してください。