Agrégation de données DogStatsD

Le service DogStatsD de Datadog implémente le protocole StatsD, avec quelques différences. DogStatsD vous permet d’envoyer des métriques et de surveiller le code de votre application sans la bloquer. Les données sont transmises depuis votre application via UDP au serveur DogStatsD local (intégré à l’Agent Datadog), qui les agrège et les envoie ensuite à l’endpoint d’API Datadog. En savoir plus sur la configuration de DogStatsD.

Cet article explique pourquoi et comment vos données sont agrégées.

Pourquoi agréger les métriques ?

L’agrégation permet d’améliorer les performances en réduisant le nombre d’appels d’API, qui prennent chacun un certain temps.

Prenons pour exemple une métrique COUNT qui est incrémentée 1 000 fois (+1 chaque fois) sur une courte période. Au lieu d’effectuer 1 000 appels d’API distincts, le serveur DogStatsD les agrège en quelques appels d’API. Selon la situation (voir ci-dessous), la bibliothèque peut envoyer, par exemple, 1 point de données avec la valeur 1 000 ou X points de données agrégés avec une valeur cumulée de 1 000.

Comment l’agrégation est-elle effectuée avec le serveur DogStatsD ?

DogStatsD utilise un intervalle de transmission de 10 secondes. Toutes les 10 secondes, DogStatsD vérifie toutes les données reçues depuis la dernière transmission. Toutes les valeurs qui correspondent au même nom de métrique et aux mêmes tags sont agrégées afin d’obtenir une valeur unique.

Remarque : avec le protocole StatsD, le client StatsD n’envoie pas les métriques avec leurs timestamps. Le timestamp est ajouté au moment de la transmission. Ainsi, si une transmission se produit à 10:00:10, toutes les données reçues par le serveur DogStatsD (intégré à l’Agent Datadog) entre 10:00:00 et 10:00:10 sont cumulées sous la forme d’un point de données unique qui reçoit le timestamp 10:00:00.

Règles d’agrégation par type de métrique

Parmi toutes les valeurs reçues pendant un même intervalle de transmission, la valeur agrégée envoyée dépend du type de métrique :

Type de métriqueAgrégation effectuée sur un intervalle de transmission
GAUGELe dernier point de données est envoyé.
COUNTLa somme de tous les points de données est envoyée.
HISTOGRAMLa valeur minimale, la valeur maximale, la moyenne, le 95e centile, le nombre de valeurs et la médiane de tous les points de données sont envoyés.
SETLe nombre points de données distincts est envoyé.
DISTRIBUTIONAgrégation en tant que distributions globales.

Pour aller plus loin