Passer au contenu principal
Évalue une requête Prometheus à l’aide des données d’une table TimeSeries sur une plage d’instants d’évaluation.

Syntaxe

prometheusQueryRange('db_name', 'time_series_table', 'promql_query', start_time, end_time, step)
prometheusQueryRange(db_name.time_series_table, 'promql_query', start_time, end_time, step)
prometheusQueryRange('time_series_table', 'promql_query', start_time, end_time, step)

Arguments

  • db_name - Le nom de la base de données où se trouve une table TimeSeries.
  • time_series_table - Le nom d’une table TimeSeries.
  • promql_query - Une requête écrite en syntaxe PromQL.
  • start_time - L’heure de début de la plage d’évaluation.
  • end_time - L’heure de fin de la plage d’évaluation.
  • step - Le pas utilisé pour faire progresser le temps d’évaluation de start_time à end_time (bornes incluses).

Valeur renvoyée

La fonction peut renvoyer différentes colonnes selon le type de résultat de la requête transmise au paramètre promql_query :
Type de résultatColonnes du résultatExemple
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 de plage, correspondances de labels (=, !=, =~, !~), modificateurs offset, modificateurs d’horodatage @ et sous-requêtes.

Fonctions

CatégorieFonctions
Intervallerate, irate, delta, idelta, last_over_time
Mathématiquesabs, 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 buckets d’histogrammes classiques (identifiés par le label le). Les histogrammes natifs ne sont pas encore pris en charge, et l’argument phi (niveau de quantile) doit actuellement être un scalaire constant — les expressions qui varient à chaque pas, comme histogram_quantile(time() / 1000, ...), sont rejetées avec une erreur NOT_IMPLEMENTED.

Opérateurs

Tous les opérateurs binaires arithmétiques (+, -, *, /, %, ^), de comparaison (==, !=, <, >, <=, >= avec bool en option) et logiques (and, or, unless), avec les modificateurs on()/ignoring() et group_left()/group_right(). Les 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 prometheusQueryRange(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now() - INTERVAL 10 MINUTES, now(), INTERVAL 1 MINUTE)
Dernière modification le 29 juin 2026