> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Requêtes de métriques

Lisez les données de métriques avec l'[API publique (V2)](/api/v2/overview).
Récupérez une série temporelle pour des graphiques, une liste agrégée pour des
tableaux, ou découvrez quelles métriques et tags possède un site. Tous les
points de terminaison s'authentifient avec votre jeton d'API personnel et sont
limités à un seul `site_id`.

## Interroger une série temporelle

Ce point de terminaison renvoie une ou plusieurs séries de points de données
sur une plage temporelle. Utilisez-le pour dessiner des graphiques.

<CodeGroup>
  ```shell Endpoint theme={null}
  POST /api/v2/metrics/timeseries
  ```
</CodeGroup>

### Corps de la requête

| Champ        | Type                  | Obligatoire | Description                                                                 |
| ------------ | --------------------- | ----------- | --------------------------------------------------------------------------- |
| `site_id`    | chaîne                | Oui         | Site à interroger.                                                          |
| `from`       | chaîne (ISO 8601)     | Oui         | Début de la plage temporelle (inclus).                                      |
| `to`         | chaîne (ISO 8601)     | Oui         | Fin de la plage temporelle (incluse).                                       |
| `select`     | TimeseriesSelector\[] | Oui         | Quelles métriques, champs et tags récupérer.                                |
| `resolution` | Resolution            | Non         | Intervalle entre les points de données. Choisi automatiquement lorsqu'omis. |
| `limit`      | nombre                | Non         | Nombre maximum de séries à renvoyer.                                        |

Chaque entrée `select` prend un `name` de métrique, un objet `tags` sur lequel
filtrer (les valeurs peuvent utiliser `*` comme caractère générique), un
`field` (voir [champs](#fields)), une `aggregation` optionnelle (voir
[agrégations](#aggregations)), et `draw_null_as_zero` (lorsque `true`, les
points manquants sont remplis avec `0`).

<CodeGroup>
  ```json body.json theme={null}
  {
    "site_id": "YOUR-SITE-ID",
    "from": "2026-06-22T00:00:00Z",
    "to": "2026-06-22T01:00:00Z",
    "resolution": "MINUTELY",
    "select": [
      {
        "name": "transaction_duration",
        "tags": { "namespace": "web" },
        "field": "mean",
        "aggregation": "avg",
        "draw_null_as_zero": false
      }
    ],
    "limit": null
  }
  ```
</CodeGroup>

### Réponse

Renvoie un `Timeseries` avec la `resolution`, `from`, `to` interrogées et un
tableau `series`. Chaque série possède un `id`, le `name` de la métrique, ses
`tags`, le `field` qu'elle représente, `min` et `max` sur la plage, et un
tableau `data` de points. Chaque point a un `timestamp` et une `value`
numérique.

## Interroger une liste

Ce point de terminaison renvoie des valeurs de métriques agrégées regroupées
en lignes. Utilisez-le pour créer des tableaux.

<CodeGroup>
  ```shell Endpoint theme={null}
  POST /api/v2/metrics/list
  ```
</CodeGroup>

### Corps de la requête

| Champ        | Type              | Obligatoire | Description                                  |
| ------------ | ----------------- | ----------- | -------------------------------------------- |
| `site_id`    | chaîne            | Oui         | Site à interroger.                           |
| `from`       | chaîne (ISO 8601) | Oui         | Début de la plage temporelle (inclus).       |
| `to`         | chaîne (ISO 8601) | Oui         | Fin de la plage temporelle (incluse).        |
| `select`     | ListSelector\[]   | Oui         | Quelles métriques, champs et tags récupérer. |
| `group_by`   | GroupBy\[]        | Oui         | Comment regrouper les lignes.                |
| `resolution` | Resolution        | Non         | Intervalle utilisé pour l'agrégation.        |
| `limit`      | nombre            | Non         | Nombre maximum de lignes à renvoyer.         |

Un `ListSelector` est comme un sélecteur de séries temporelles, avec un `id`
supplémentaire qui nomme la valeur du sélecteur dans l'objet `data` de chaque
ligne. Les entrées `group_by` sont `Name` (regrouper par nom de métrique) ou
`Tag` (regrouper par valeur de tag).

<CodeGroup>
  ```json body.json theme={null}
  {
    "site_id": "YOUR-SITE-ID",
    "from": "2026-06-22T00:00:00Z",
    "to": "2026-06-22T01:00:00Z",
    "resolution": "HOURLY",
    "select": [
      {
        "id": "mean",
        "name": "transaction_duration",
        "tags": { "namespace": "*" },
        "field": "mean",
        "aggregation": "avg"
      }
    ],
    "group_by": ["Name"],
    "limit": 50
  }
  ```
</CodeGroup>

### Réponse

Renvoie une `List` avec la `resolution`, `from`, `to` interrogées et un
tableau `rows`. Chaque ligne a un `id`, un objet `group` des valeurs de tags
qui la définissent, et un objet `data` de valeurs agrégées indexées par `id`
de sélecteur (par exemple, `{ "mean": 42.5 }`).

## Lister les noms de métriques

Renvoie chaque nom de métrique disponible pour un site.

<CodeGroup>
  ```shell Endpoint theme={null}
  GET /api/v2/metrics/names/{site_id}
  ```
</CodeGroup>

Renvoie un tableau de chaînes.

## Obtenir le type et les tags d'une métrique

Renvoie le type d'une métrique et les combinaisons de tags avec lesquelles
elle peut être interrogée.

<CodeGroup>
  ```shell Endpoint theme={null}
  GET /api/v2/metrics/type_and_tags/{site_id}/{metric_name}
  ```
</CodeGroup>

Renvoie un `metric_type` (`gauge`, `counter` ou `measurement`) et
`available_tags`, un tableau où chaque entrée est une combinaison valide de
clés de tag.

## Référence

### Champs

Le `field` sélectionne quelle mesure récupérer à partir d'une métrique :

| Valeur         | Description                                                                                                                        |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `gauge`        | La valeur de la métrique à un moment donné, telle que l'utilisation actuelle du CPU ou de la mémoire.                              |
| `counter`      | À partir des métriques `counter`, la valeur cumulée, qui augmente uniquement au fil du temps, comme le nombre de requêtes servies. |
| `mean`         | La moyenne des valeurs enregistrées dans l'intervalle temporel, comme le temps de réponse moyen.                                   |
| `count`        | À partir des métriques `measurement`, combien de valeurs ont été enregistrées pendant l'intervalle temporel.                       |
| `min`          | La valeur la plus basse enregistrée dans l'intervalle temporel.                                                                    |
| `max`          | La valeur la plus haute enregistrée dans l'intervalle temporel.                                                                    |
| `p_90`, `p_95` | Valeurs de percentile.                                                                                                             |

Pour plus de références sur les types, lisez la [documentation de l'API V2 d'AppSignal](https://appsignal.com/api/v2/docs).

### Agrégations

L'`aggregation` combine plusieurs valeurs dans un intervalle temporel : `sum`,
`avg`, `min`, `max`, `first` ou `last`.

### Résolutions

`resolution` accepte `MINUTELY`, `FIVE_MINUTELY`, `TEN_MINUTELY`,
`FIFTEEN_MINUTELY`, `HOURLY` ou `DAILY`.
