Métriques de distribution

Ce document explique comment créer et interpréter un graphique qui affiche les données des métriques de type Distribution. Ce type de valeur est utilisé par les services lorsque les mesures individuelles sont trop nombreuses à collecter, mais que des informations statistiques, telles que des moyennes ou des centiles, concernent ces mesures. Par exemple, lorsqu'une application repose sur le trafic HTTP, vous pouvez utiliser une métrique de valeur de distribution qui capture la latence de réponse HTTP afin d'évaluer la vitesse de traitement des requêtes HTTP.

Pour illustrer la façon dont un histogramme est créé, prenons l'exemple d'un service qui mesure la latence HTTP des requêtes et signale ces données à l'aide d'une métrique de type valeur de distribution. Les données sont consignées toutes les minutes. Le service définit des plages de valeurs pour la métrique, appelées buckets, et enregistre le nombre de valeurs mesurées comprises dans chaque bucket. Par exemple, lorsqu'une requête HTTP se termine, le service incrémente le décompte dans le bucket dont la plage inclut la valeur de latence de la requête. Ces décomptes créent un histogramme des valeurs pour cette minute.

Supposons que les latences mesurées dans un intervalle d'une minute soient de 5, 1, 3, 5, 6, 10 et 14. Si les buckets sont [0, 4), [4, 8), [8, 12) et [12, 16), l'histogramme de ces données est [2, 3, 1, 1]. Le tableau suivant montre l'impact des mesures individuelles sur le décompte de chaque bucket :

Bucket Mesures de latence Nombre de valeurs dans le bucket
[12,16] 14 1
[8,12) 10 1
[4,8) 5, 5, 6 3
[0,4) 1, 3 2

Lorsque ces données sont écrites dans la série temporelle, un objet Point est créé. Pour les métriques ayant une valeur de distribution, cet objet inclut l'histogramme des valeurs. Pour cette période d'échantillonnage, Point contient [2, 3, 1, 1]. Les mesures individuelles ne sont pas écrites dans la série temporelle.

Supposons que la table précédente enregistre l'histogramme pour les données de latence mesurées à l'heure 1:00. Ce tableau montre comment prendre une série de mesures et les convertir en nombres de buckets. Supposons que le bucket compte les heures 1:01, 1:02 et 1:03, comme indiqué dans le tableau suivant:

Bucket Histogramme pour
1:00
Histogramme pour
1:01
Histogramme pour
1:02
Histogramme pour
1:03
[12,16] 1 6 0 1
[8,12) 1 0 2 2
[4,8) 3 1 1 8
[0,4) 2 6 10 3

Le tableau précédent affiche une séquence d'histogrammes indexés par date. Chaque colonne du tableau représente les données de latence sur une période d'une minute. Pour obtenir le nombre de mesures effectuées à un moment spécifique, additionnez le nombre de mesures. Toutefois, les mesures réelles ne sont pas disponibles, car elles ne sont pas disponibles dans les métriques de valeur de distribution.

Graphiques de cartes de densité

Les graphiques de carte de densité sont conçus pour afficher une série temporelle unique avec des valeurs de distribution. Pour ces graphiques, l'axe des abscisses représente le temps, l'axe des coordonnées représente les buckets, et la couleur représente la valeur. Plus la couleur est élevée, plus la valeur est élevée. Par exemple, les zones sombres de la carte de densité indiquent des compteurs de buckets inférieurs à ceux des zones jaunes ou blanches.

La figure suivante représente une carte de densité pour l'exemple précédent :

Graphique de carte de densité pour l'exemple

Dans la figure précédente, la carte de densité utilise du noir pour représenter le plus petit nombre de buckets (0) et du jaune pour le plus grand nombre (10). Les valeurs rouges et orange représentent des valeurs comprises entre ces deux extrêmes.

Comme les graphiques de carte de densité ne peuvent afficher qu'une seule série temporelle, lorsque vous en avez plusieurs, vous devez définir les options d'agrégation pour les combiner en une seule série temporelle. Par exemple, pour utiliser l'explorateur de métriques afin de créer un graphique de carte de densité indiquant la somme de la série temporelle, procédez comme suit :

  1. Dans Google Cloud Console, sélectionnez Monitoring ou cliquez sur le bouton suivant:
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez  Explorateur de métriques.
  3. Sélectionnez une métrique ayant une valeur de distribution et une ressource. Par exemple, sélectionnez la métrique "Temps de latence DAR" et la ressource d'instance de VM.
  4. Dans la barre d'outils de l'explorateur de métriques, cliquez sur Graphique en courbes , puis sélectionnez Carte de densité.
  5. Utilisez le volet de configuration pour combiner les séries temporelles en une seule série :

    • Vérifiez que le champ Grouper par est vide.
    • Sélectionnez sum en tant qu'agrégateur.

Graphiques en courbes et à barres

Les graphiques en courbes, les graphiques à barres empilées et les graphiques en courbes empilées, conçus pour afficher des données scalaires, ne peuvent pas afficher les valeurs de distribution. Pour afficher une métrique avec une valeur de distribution correspondant à l'un de ces types de graphique, vous devez convertir les valeurs de l'histogramme en valeurs scalaires. Vous pouvez par exemple calculer la somme des valeurs de l'histogramme ou sélectionner un centile.

Par exemple, chaque ligne du tableau suivant inclut un horodatage, un histogramme et une somme des valeurs de l'histogramme :

Temps Histogramme Somme des valeurs de l'histogramme
1:00 [2, 3, 1, 1] 7
1:01 [6, 1, 0, 6] 13
1:02 [10, 1, 2, 0] 13
1:03 [3, 8, 2, 1] 14

Dans le tableau précédent, vous pouvez afficher la somme des valeurs de l'histogramme avec un tracé X-Y.

Pour une métrique qui stocke des informations de latence HTTP, la somme est une mesure significative, car elle représente indirectement le nombre de requêtes HTTP terminées. Les données du tableau précédent montrent que le taux d'achèvement d'une requête HTTP est faible, mais relativement constant :

Graphique en courbes pour l'exemple

Les graphiques en courbes n'affichent que les séries temporelles avec des valeurs scalaires. Pour afficher une métrique de valeur de distribution sur un graphique en courbes, utilisez les champs d'agrégation pour convertir les valeurs de distribution en valeurs scalaires. Par exemple, pour afficher le 99e centile d'une métrique à valeur de distribution à l'aide de l'explorateur de métriques, procédez comme suit :

  1. Dans Google Cloud Console, sélectionnez Monitoring ou cliquez sur le bouton suivant:
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez  Explorateur de métriques.
  3. Sélectionnez une métrique ayant une valeur de distribution et une ressource. Par exemple, sélectionnez la métrique "Temps de latence DAR" et la ressource d'instance de VM.
  4. Assurez-vous que la barre d'outils de l'explorateur de métriques affiche Graphique en courbes .
  5. Dans le volet de configuration, sélectionnez le 99e centile pour l'agrégateur.

Métriques d'agrégation et de distribution

L'agrégation consiste à régulariser des points dans une série temporelle et à combiner plusieurs séries temporelles. L'agrégation est identique pour les métriques de type distribution et les métriques dont le type de valeur est un nombre entier ou double. Toutefois, le type de graphique prend en compte les contraintes liées aux choix d'alignement et de regroupement des séries temporelles.

Graphiques de cartes de densité

Les graphiques de carte de densité affichent une série temporelle de valeur de distribution. Lorsque vous disposez de plusieurs séries temporelles, vous devez utiliser des aligneurs et des fonctions de regroupement pour créer une seule série temporelle.

Sélectionnez un aligneur de somme ou delta lorsqu'un graphique affiche une carte de densité. Ces fonctions combinent, au niveau du bucket, tous les échantillons d'une seule série temporelle qui se trouvent dans la même période d'alignement. Le résultat est une valeur de distribution. Par exemple, si deux échantillons adjacents d'une série temporelle sont [2, 3, 1, 1] et [2, 5, 4, 1], l'aligneur de somme produit [4, 8, 5, 2].

La fonction de regroupement définit la manière dont les différentes séries temporelles sont combinées. Cette fonction est parfois appelée "agrégateur" ou "réducteur". Pour les cartes de densité, définissez la fonction de regroupement sur la fonction de somme. La fonction de somme ajoute les valeurs des mêmes buckets dans tous les histogrammes, ce qui génère un nouvel histogramme. Par exemple, la somme de la valeur [2, 3, 1, 1] de la série temporelle A et de la valeur [1, 5, 2, 2] de la série temporelle B est [3, 8, 3, 3].

Graphique en courbes

Les graphiques en courbes n'affichent que les séries temporelles à valeurs scalaires. Pour afficher une métrique de valeur de distribution dans un graphique en courbes, utilisez l'aligneur ou la fonction de regroupement pour convertir les valeurs de distribution en valeurs scalaires :

  • Les aligneurs de centiles convertissent une valeur de distribution en valeur scalaire. Avec ces aligneurs, le regroupement des séries temporelles est facultatif.

  • Les aligneurs de somme et delta ne convertissent pas une valeur de distribution en valeur scalaire. Lorsque vous utilisez ces aligneurs, sélectionnez une fonction de regroupement qui convertit les valeurs de distribution en valeurs scalaires.

Par exemple, pour configurer un graphique en courbes dans un tableau de bord afin d'afficher le 99e centile de chaque série temporelle pour une métrique de valeur de distribution, procédez comme suit :

  1. Dans Google Cloud Console, sélectionnez Monitoring ou cliquez sur le bouton suivant:
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez Tableaux de bord, puis choisissez le tableau de bord que vous souhaitez afficher ou modifier.
  3. Si le bouton Edit dashboard (Modifier le tableau de bord) s'affiche, cliquez dessus.
  4. Ajoutez un graphique en courbes à votre tableau de bord en sélectionnant le widget de graphique en courbes dans la bibliothèque de graphiques.
  5. Modifiez la configuration du graphique en courbes pour afficher une métrique de valeur de distribution pour une ressource spécifique. Par exemple, sélectionnez la métrique "Temps de latence DAR" et la ressource d'instance de VM.
  6. Configurez le graphique pour utiliser un aligneur de centile :

    • Onglet De base : désélectionnez Groupé, puis sélectionnez 99e centile.
    • Onglet Avancé : sélectionnez Centile à l'étape de prétraitement et utilisez le menu pour sélectionner le 99e centile. Vérifiez également que le champ de regroupement est vide et que la fonction de regroupement est définie sur aucun.

Le graphique obtenu peut afficher plusieurs lignes, une pour chaque série temporelle.

Pour un autre exemple, supposons que vous souhaitiez afficher une seule série temporelle correspondant au 99e centile de la série temporelle d'une métrique de valeur de distribution. Pour configurer ce graphique, remplacez la dernière étape de la séquence précédente par les étapes suivantes, qui spécifient un aligneur de somme et définissent une fonction de regroupement :

  1. Cliquez sur l'onglet Avancé.
  2. Sélectionnez Aucune étape de prétraitement à l'étape de prétraitement.
  3. Définissez la fonction d'alignement sur sum.
  4. Assurez-vous que le champ de regroupement est vide et définissez Grouper par fonction sur 99e centile.

Le graphique obtenu affiche une seule ligne.

Étapes suivantes

Pour savoir comment déterminer le modèle de bucket d'une métrique et interpréter les centiles, consultez la page Centiles et métriques à valeur de distribution.