構文
引数
db_name- TimeSeries テーブルが配置されているデータベース名。time_series_table- TimeSeries テーブルの名前。promql_query- PromQL 構文で記述されたクエリ。evaluation_time - 評価時刻のタイムスタンプ。現在時刻でクエリを評価するには、evaluation_timeとしてnow()` を使用します。
戻り値
promql_query に渡されたクエリの結果タイプに応じて、異なるカラムを返します。
| 結果タイプ | 結果カラム | 例 |
|---|---|---|
| vector | tags Array(Tuple(String, String)), timestamp TimestampType, value ValueType | prometheusQuery(mytable, ‘up’) |
| matrix | tags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType)) | prometheusQuery(mytable, ‘up[1m]‘) |
| scalar | scalar ValueType | prometheusQuery(mytable, ‘1h30m’) |
| string | string String | prometheusQuery(mytable, ‘“abc”‘) |
PromQL でサポートされている機能
セレクタ
=、!=、=~、!~) 、OFFSET修飾子、@タイムスタンプ修飾子、サブクエリ。
関数
| カテゴリ | 関数 |
|---|---|
| 範囲 | rate, irate, delta, idelta, last_over_time |
| 数学 | abs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg |
| 三角関数 | sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh |
| DateTime | day_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year |
| 型 | scalar, vector |
| ヒストグラム | histogram_quantile |
| その他 | time, pi |
histogram_quantile は、従来のヒストグラムのバケット (le ラベルで識別) に対して線形補間を使用します。ネイティブヒストグラムはまだサポートされておらず、phi (分位点レベル) 引数は現時点では定数スカラーである必要があります。histogram_quantile(time() / 1000, ...) のようにステップごとに変化する式は、NOT_IMPLEMENTED エラーで拒否されます。
演算子
on()/ignoring() および group_left()/group_right() 修飾子を含む、すべての算術 (+, -, *, /, %, ^) 、比較 (省略可能な bool を伴う ==, !=, <, >, <=, >=) 、論理 (and, or, unless) 二項演算子。
単項演算子 + と -。
集計演算子
sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — オプションで by() または without() 修飾子を使用できます。
現在は未対応: count_values。