Passer au contenu principal
Évalue une requête Prometheus à partir des données d’une table TimeSeries.

Syntaxe

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)

Arguments

  • 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`.

Valeur renvoyée

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ésultatColonnes renvoyéesExemple
vectortags Array(Tuple(String, String)), timestamp TimestampType, value ValueTypeprometheusQuery(mytable, ‘up’)
matrixtags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType))prometheusQuery(mytable, ‘up[1m]‘)
scalarscalar ValueTypeprometheusQuery(mytable, ‘1h30m’)
stringstring StringprometheusQuery(mytable, ‘“abc”‘)

Fonctionnalités PromQL prises en charge

Sélecteurs

Sélecteurs instantanés, sélecteurs d’intervalle, correspondances de labels (=, !=, =~, !~), modificateurs de décalage, modificateurs d’horodatage @ et sous-requêtes.

Fonctions

CatégorieFonctions
Plagerate, irate, delta, idelta, last_over_time
Mathsabs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg
Trigonométriesin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh
DateTimeday_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year
Typescalar, vector
Histogrammehistogram_quantile
Autretime, 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.

Opérateurs

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 -.

Opérateurs d’agrégation

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.

Exemple

SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())
Dernière modification le 25 juin 2026