> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Évalue une requête Prometheus à l’aide des données d’une table TimeSeries.

# prometheusQueryRange

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

<div id="syntax">
  ## Syntaxe
</div>

```sql theme={null}
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)
```

<div id="arguments">
  ## Arguments
</div>

* `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](https://prometheus.io/docs/prometheus/latest/querying/basics/).
* `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).

<div id="returned_value">
  ## Valeur renvoyée
</div>

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ésultat | Colonnes du résultat                                                                   | 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"')   |

<div id="supported-promql-features">
  ## Fonctionnalités PromQL prises en charge
</div>

<div id="selectors">
  ### Sélecteurs
</div>

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

<div id="functions">
  ### Fonctions
</div>

| Catégorie     | Fonctions                                                                                        |
| ------------- | ------------------------------------------------------------------------------------------------ |
| Intervalle    | `rate`, `irate`, `delta`, `idelta`, `last_over_time`                                             |
| Mathématiques | `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 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`.

<div id="operators">
  ### Opérateurs
</div>

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

<div id="aggregation-operators">
  ### Opérateurs d'agrégation
</div>

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

<div id="example">
  ## Exemple
</div>

```sql theme={null}
SELECT * FROM prometheusQueryRange(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now() - INTERVAL 10 MINUTES, now(), INTERVAL 1 MINUTE)
```
