timeSeries*() 集約関数と組み合わせて使用することを想定しています。
timeSeriesInstantRateToGrid、
timeSeriesLastToGrid
などです。
seriesDecomposeSTL
導入バージョン: v24.1.0 STL (Seasonal-Trend Decomposition Procedure Based on Loess) を使用して、時系列データを季節性、トレンド、残差の各成分に分解します。 構文series— 数値の配列Array((U)Int8/16/32/64)またはArray(Float*)period— 正の整数UInt8/16/32/64
Array(Array(Float32), Array(Float32), Array(Float32), Array(Float32))
例
STL を使用して時系列データを分解する
Query
Response
seriesOutliersDetectTukey
導入バージョン: v24.2.0 Tukey Fences を用いて時系列データの外れ値を検出します。 構文series— 数値の配列。Array((UInt8/16/32/64))またはArray(Float*)min_percentile— 省略可能。四分位範囲(IQR)の計算に使用する最小のパーセンタイル。値は [0.02,0.98] の範囲内である必要があります。デフォルトは 0.25 です。Float*max_percentile— 省略可能。四分位範囲 (IQR) の計算に使用する最大のパーセンタイル。値は [0.02,0.98] の範囲内である必要があります。デフォルトは 0.75 です。Float*K— 省略可能。軽度以上の外れ値を検出するための非負の定数値。デフォルト値は 1.5 です。Float*
series 内の対応する要素に異常の可能性があることを示すスコアを表します。スコアがゼロ以外の場合は、異常の可能性を示します。Array(Float32)
例
基本的な外れ値検出
Query
Response
Query
Response
seriesPeriodDetectFFT
導入バージョン: v23.12.0 FFT - Fast Fourier transform を使用して、指定された時系列データの周期を検出します 構文series— 数値の配列です。Array((U)Int8/16/32/64)またはArray(Float*)
Float64
例
単純なパターンでの周期検出
Query
Response
Query
Response
timeSeriesCopyTag
導入バージョン: v26.1.0 指定したタグを、1 つのタググループ (src_group) から別のタググループ (dest_group) へコピーします。
この関数は、コピー先の dest_group にある同じタグの既存の値を置き換えます。
コピー対象のタグが src_group に存在しない場合、この関数は dest_group からもそのタグを削除します。
この関数は、Prometheus の
group left/group right 修飾子のコピーの挙動を模倣します。
この関数は非決定論的です。同じ引数に対しても異なる結果を返すことがあります。
dest_group のタグに、src_group からコピーしたタグを加えたタググループを返します。UInt64
例
例
Query
Response
timeSeriesCopyTags
導入バージョン: v26.1.0 指定したタグを、あるタググループ (src_group) から別のタググループ (dest_group) にコピーします。
この関数は、コピーしたタグについて、dest_group 内の既存の値を置き換えます。
コピー対象のタグの一部が src_group に存在しない場合、この関数はそれらのタグを dest_group からも削除します。
この関数は、Prometheus の
group left/group right 修飾子 のコピー動作を模倣しています。
この関数は非決定論的です。同じ引数に対しても異なる結果を返すことがあります。
dest_group— コピー先のタググループです。UInt64src_group— コピー元のタググループです。UInt64tags_to_copy— コピーするタグの名前です。Array(String)
dest_group のタグと、src_group からコピーされたタグを含むタググループを返します。UInt64
例
例
Query
Response
timeSeriesExtractTag
導入バージョン: v26.1.0 グループから指定したタグの値を抽出します。見つからない場合は NULL を返します。 関連項目: 関数 timeSeriesGroupToTags()。この関数は非決定論的です。同じ引数でも異なる結果を返すことがあります。
Nullable(String)
例
例
Query
Response
timeSeriesFromGrid
導入バージョン: v25.8.0 値の配列[x1, x2, x3, ...] を、タプルの配列
[(start_timestamp, x1), (start_timestamp + step, x2), (start_timestamp + 2 * step, x3), ...] に変換します。
現在のタイムスタンプは、end_timestamp を超えるまで step ずつ増加します。
値の数がタイムスタンプの数と一致しない場合、この関数は例外をスローします。
[x1, x2, x3, ...] 内の NULL 値 はスキップされますが、現在のタイムスタンプは引き続き増加します。
たとえば、[value1, NULL, x2] に対して、この関数は [(start_timestamp, x1), (start_timestamp + 2 * step, x2)] を返します。
構文
start_timestamp— グリッドの開始時刻。DateTime64またはDateTimeまたはUInt32end_timestamp— グリッドの終了時刻。DateTime64またはDateTimeまたはUInt32step— 秒単位のグリッド間隔。Decimal64またはDecimal32またはUInt32/64values— 値の配列Array(Float*)またはArray(Nullable(Float*))
start_timestamp と step で定義された一定間隔の時間グリッド上のタイムスタンプと組み合わせたソース配列の値を返します。Array(Tuple(DateTime64, Float64))
例
使用例
Query
Response
timeSeriesGroupToSamplingKey
導入バージョン: v26.4.0 指定したグループのタグから導出される、安定したUInt64 のサンプリングキーを返します。
この値は決定論的で、入力タグが同一であれば常に同じキーが生成されます。
limitk や limit_ratio などのサンプリング演算子のソートキーとして使用することを想定しています。
この関数は非決定論的であり、同じ引数に対しても異なる結果を返すことがあります。
group— タググループ。UInt64
UInt64 ハッシュ。UInt64
例
例
Query
Response
timeSeriesGroupToTags
導入バージョン: v26.1.0 指定したグループに関連付けられたタグの名前と値を返します。 関連項目: 関数 timeSeriesTagsToGroup()。この関数は非決定論的です。同じ引数に対しても異なる結果を返すことがあります。
timeSeriesTagsGroupToTags
引数
group— タググループ。UInt64
(tag_name, tag_value) のペアからなる配列を返します。
返される配列は常に tag_name でソートされ、同じ tag_name を複数回含むことはありません。
Array(Tuple(String, String))
例
例
Query
Response
timeSeriesIdToGroup
導入バージョン: v26.1.0 指定した時系列の識別子に関連付けられたタグの名前と値を返します。 関連項目: 関数 timeSeriesStoreTags()。この関数は非決定論的です。同じ引数に対して異なる結果を返す場合があります。
timeSeriesIdToTagsGroup
引数
id— 時系列の識別子。timeSeriesStoreTags() の呼び出し時に使用した型と同じ型である必要があります。Any
id に関連付けられたタググループを返します。UInt64
例
例
Query
Response
timeSeriesIdToTags
導入バージョン: v25.8.0 指定した時系列の識別子に関連付けられたタグを返します。 関連項目: 関数 timeSeriesStoreTags()。この関数は非決定論的です。同じ引数に対して異なる結果を返すことがあります。
id— 時系列の識別子。timeSeriesStoreTags() の呼び出し時に使用したものと同じ型である必要があります。Any
(tag_name, tag_value) のペアからなる配列を返します。
返される配列は常に tag_name 順にソートされ、同じ tag_name を複数回含むことはありません。
Array(Tuple(String, String))
例
例
Query
Response
timeSeriesJoinTags
導入バージョン: v26.1.0 タググループから抽出した指定のタグの値を結合します。 この関数は、結合した値の間に区切り文字を挿入し、タグdest_tag に結合後の値を設定した新しいタググループを返します。
この関数は、Prometheus の関数
label_join() のロジックを模倣しています。
この関数は非決定論的です。同じ引数に対して異なる結果を返すことがあります。
group— タググループ。UInt64dest_tag— 結合結果を格納し、groupに追加されるタグの名前。Stringseparator— 結合された値の間に挿入する区切り文字。Stringsrc_tags— 結合する値を持つソースタグの名前。Array(String)
dest_tag タグに設定された新しいタググループを返します。UInt64
例
例
Query
Response
timeSeriesMetricTypeToSuffixes
導入バージョン: v26.8.0 指定された Prometheus タイプのメトリクスファミリーに対応するメトリクス名の接尾辞を返します。 構文type— Prometheus メトリクスのタイプ (counter、gauge、histogram、summaryなど) 。String
Array(String)
例
例
Query
Response
timeSeriesPrometheusValueToString
導入バージョン: v26.8.0 浮動小数点のサンプル値を Prometheus のラベル値セマンティクスに従ってフォーマットします。 有限値は固定小数点表記で出力され、同じFloat64 に往復変換できる最短の十進表現が使用されます。
負のゼロは保持されます。特殊値は NaN、+Inf、-Inf として返されます。
構文
value の Prometheus 互換な文字列表現。String
Examples
固定小数点表記
Query
Response
timeSeriesRange
導入バージョン: v25.8.0 タイムスタンプの範囲 [start_timestamp, start_timestamp + step, start_timestamp + 2 * step, …, end_timestamp] を生成します。start_timestamp と end_timestamp が等しい場合、この関数は [start_timestamp] を含む 1 要素の配列を返します。
関数 timeSeriesRange() は range 関数に似ています。
構文
start_timestamp— 範囲の開始時刻。DateTime64またはDateTimeまたはUInt32end_timestamp— 範囲の終了時刻。DateTime64またはDateTimeまたはUInt32step— 範囲の間隔 (秒) 。UInt32/64またはDecimal32/64
Array(DateTime64)
例
使用例
Query
Response
timeSeriesRemoveAllTagsExcept
導入バージョン: v26.1.0 指定したタグを除くすべてのタグをタググループから削除します。 関連項目: 関数 timeSeriesRemoveTag(), timeSeriesRemoveTags()。この関数は非決定論的です。同じ引数に対して異なる結果を返すことがあります。
group— タググループです。UInt64tags_to_keep— グループ内で保持するタグの名前です。Array(String)
UInt64
例
例
Query
Response
timeSeriesRemoveTag
導入バージョン: v26.1.0 タググループから指定したタグを削除します。 グループ内に該当するタグがない場合は、グループは変更されずにそのまま返されます。 関連項目: 関数 timeSeriesRemoveTags()、 timeSeriesRemoveAllTagsExcept()。この関数は非決定論的です。同じ引数に対して異なる結果を返すことがあります。
UInt64
例
例
Query
Response
timeSeriesRemoveTags
導入バージョン: v26.1.0 タググループから指定したタグを削除します。 指定したタグの一部がタググループに含まれていない場合、関数はそれらを無視します。 関連項目: 関数 timeSeriesRemoveTag(), timeSeriesRemoveAllTagsExcept()。この関数は非決定論的です。同じ引数に対して異なる結果を返す場合があります。
group— タググループ。UInt64tags_to_remove— グループから削除するタグ名。Array(String)
UInt64
例
例
Query
Response
timeSeriesReplaceTag
導入バージョン: v26.1.0 タグsrc_tag の値に対して正規表現 regex を照合します。
一致した場合、返されるグループ内のタグ dest_tag の値は replacement を展開したものとなり、
入力に含まれる元のタグもそのまま保持されます。
この関数は、Prometheus の関数
label_replace() のロジックを模倣しています。
この関数は非決定論的です。同じ引数に対して異なる結果を返すことがあります。
group— タググループ。UInt64dest_tag— 結果のタググループを格納する宛先タグの名前。Stringreplacement— 置換パターン。正規表現 ‘regex’ のキャプチャグループを参照するために、2、または $name を含めることができます。Stringsrc_tag— 値が正規表現 ‘regex’ との照合に使用されるタグの名前。Stringregex— 正規表現。String
dest_tag が追加された新しいタググループ。UInt64
例
例
Query
Response
timeSeriesStoreTags
導入バージョン: v25.8.0 指定した時系列の識別子と、一連のタグとの対応関係をクエリコンテキストに格納します。 この対応関係は、クエリ実行中に関数 timeSeriesIdToTags() および timeSeriesIdToGroup() を使って後から参照できます。 構文id— 時系列の識別子。比較可能な任意の型にできます。識別子が NULL の行はスキップされます。Anytags_array— (tag_name, tag_value) のペアからなる Array。Array(Tuple(String, String))またはNULLseparate_tag_name_i— タグ名。StringまたはFixedStringseparate_tag_value_i— タグの値。StringまたはFixedStringまたはNullable(String)
Query
Response
timeSeriesTagsToGroup
導入バージョン: v26.1.0 指定したタグに対応するタググループを返します。 クエリの実行中に同じタググループが複数回見つかった場合、この関数は同じタググループを返します。 タグ集合が空の場合、この関数は常に 0 を返します。 関連項目: 関数 timeSeriesGroupToTags()。この関数は非決定論的です。同じ引数に対して異なる結果を返すことがあります。
tags_array— ペア (tag_name, tag_value) からなる Array。Array(Tuple(String, String))またはNULLtag_name_i— タグ名。StringまたはFixedStringtag_value_i— タグの値。StringまたはFixedStringまたはNullable(String)
UInt64
例
例
Query
Response
timeSeriesTagsToMap
導入バージョン: v26.8.0(tag_name, tag_value) ペアの配列と、タグ名および値を個別に指定する引数を組み合わせて、単一のマップを作成します。
結果はタグ名でソートされ、重複したタグ名と値が空のタグは削除されます。
構文
tags_array— (tag_name, tag_value) からなるペアのArray。Array(Tuple(String, String))、Map(String, String)、またはNULLtag_name_i— タグ名。StringまたはFixedStringtag_value_i— タグの値。String、FixedString、またはNullable(String)
Map(String, String)
例
例
Query
Response
timeSeriesThrowDuplicateSeriesIf
導入バージョン: v26.2.0condition をチェックし、それが true の場合は、次のメッセージを含む例外をスローします。
Multiple series have the same tags <tags>, duplicate series in the same result set are not allowed
condition が false の場合、この関数は 0 を返します。
この関数は throwIf() に似ていますが、
使用するエラーコードが異なり、エラーメッセージのフォーマットも異なります。
この関数は非決定論的です。同じ引数に対して異なる結果を返す可能性があります。
0 を返します。UInt8
例
グループごとに1つの系列
Query
Response
Query
Response