Évalue une requête Prometheus à partir des données d’une table TimeSeries.
prometheusQuery('db_name', 'time_series_table', 'promql_query', evaluation_time)
prometheusQuery(db_name.time_series_table, 'promql_query', evaluation_time)
prometheusQuery('time_series_table', 'promql_query', evaluation_time)
db_name - Le nom de la base de données dans laquelle se trouve une table TimeSeries.
time_series_table - Le nom d’une table TimeSeries.
promql_query - Une requête écrite en syntaxe PromQL.
evaluation_time - L’horodatage d’évaluation. Pour évaluer une requête à l’instant présent, utilisez now()commeevaluation_time`.
La fonction peut renvoyer des colonnes différentes selon le type de résultat de la requête passée au paramètre promql_query :
| Type de résultat | Colonnes renvoyées | Exemple |
|---|
| 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”‘) |
Fonctionnalités PromQL prises en charge
Sélecteurs instantanés, sélecteurs d’intervalle, correspondances de labels (=, !=, =~, !~), modificateurs de décalage, modificateurs d’horodatage @ et sous-requêtes.
| Catégorie | Fonctions |
|---|
| Plage | rate, irate, delta, idelta, last_over_time |
| Maths | abs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg |
| Trigonométrie | 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 |
| Type | scalar, vector |
| Histogramme | histogram_quantile |
| Autre | time, pi |
Remarque : histogram_quantile utilise une interpolation linéaire sur les classes des histogrammes classiques (repérées par le label le). Les histogrammes natifs ne sont pas encore pris en charge, et l’argument phi (niveau de quantile) doit actuellement être une constante scalaire — les expressions qui varient d’un pas à l’autre, telles que histogram_quantile(time() / 1000, ...), sont rejetées avec l’erreur NOT_IMPLEMENTED.
Tous les opérateurs binaires arithmétiques (+, -, *, /, %, ^), de comparaison (==, !=, <, >, <=, >= avec bool facultatif) et logiques (and, or, unless), avec les modificateurs on()/ignoring() et group_left()/group_right().
Opérateurs unaires + et -.
sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — avec les modificateurs facultatifs by() ou without().
Pas encore pris en charge : count_values.
SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())
Dernière modification le 25 juin 2026