Interagir avec le graphique de type "flamme"

Cloud Profiler affiche les données de profilage à l'aide de graphiques de type "flamme". Consultez la page Graphiques de type "flamme" pour en découvrir les bases.

Le graphique de type "flamme" se compose de plusieurs cadres. Chaque cadre représente une fonction du service :

  • La largeur d'un cadre correspond à la consommation de la métrique en cours d'analyse. Le cadre supérieur, par exemple, représente l'ensemble du service et consomme 100 % de la métrique en cours d'analyse. Par conséquent, ce cadre est affiché en pleine largeur.

  • Par défaut, la couleur du cadre correspond, si possible, au package de la fonction. Si les informations concernant le package ne sont pas disponibles, comme dans Node.js, les noms des fichiers sources sont utilisés pour colorer les blocs de fonction. Dans une pile d'appels, un changement de couleur de bloc indique une transition d'un package à un autre. Vous pouvez modifier le mode couleur des cadres. Pour en savoir plus à ce sujet, consultez la section Mode couleur.

Le graphique de type "flamme" représente une ou plusieurs piles d'appels dont les valeurs sont des moyennes calculées à partir d'un ensemble de profils :

  • Chaque profil individuel représente les données collectées une fois par minute à partir d'une seule instance du service configuré dans une seule zone Compute Engine. La période de collecte d'un profil dépend du type de profil. Pour en savoir plus, consultez la section Collecter des profils.
  • La moyenne est calculée sur un maximum de 250 profils. Cela signifie que si plus de 250 profils sont disponibles, 250 seront sélectionnés de manière aléatoire pour constituer un ensemble d'échantillons.
  • Le cadre supérieur, ou cadre "racine", d'un graphique de type "flamme" représente l'ensemble du service. Sous le cadre "racine" se trouve un autre cadre ou ensemble de cadres constituant la deuxième ligne du graphique. Chacun de ces cadres codés par couleur représente un appel de niveau supérieur passé par le service. Sous chacun de ces cadres de fonction colorés se trouve un autre ensemble de cadres de fonctions, chacun d'eux étant responsable d'une partie de la ressource du cadre situé au-dessus de celle-ci. La hiérarchie des cadres de fonction dans le graphique représente la séquence d'appels et la largeur d'un cadre représente la partie de ressources que consomme cette fonction.

Par exemple, le graphique du profileur associé aux segments de mémoire consommés par "docdemo-service" montre que ce service appelle différents cadres de niveau supérieur, dont la fonction main de l'environnement d'exécution Go. La largeur de ces cadres de niveau supérieur indique que la majorité des segments de mémoire est consommée par la pile d'appels impliquant la fonction main de l'environnement d'exécution Go, ainsi que les fonctions main, allocOnce et allocImpl :

Graphique de Profiler associé aux tas de mémoire consommée

Le cadre racine affiche des informations sur la consommation de métriques.

Passer la souris sur un cadre

Lorsque vous maintenez le pointeur sur un cadre du graphique de type "flamme", une info-bulle s'affiche et contient ces informations supplémentaires sur le cadre en question :

  • Nom de la fonction
  • Nom de fichier de la fonction
  • Utilisation absolue et pourcentage d'utilisation

Dans les informations relatives à la consommation de métrique, le préfixe total indique que la valeur de la métrique ainsi que le pourcentage représentent une fonction et ses enfants. En revanche, le préfixe perso indique que la valeur de la métrique et le pourcentage concernent la consommation de la fonction en excluant ses enfants.

La boîte de dialogue comprend également des boutons :

  • Cibler : permet de cibler le graphique sur la fonction du cadre actuel.
  • Afficher les piles : permet d'appliquer un filtre pour n'afficher que les piles qui incluent la fonction de ce cadre.
  • Afficher l'historique : permet d'ouvrir l'historique associé à la fonction du cadre.

Dans cet exemple, l'info-bulle indique que la fonction runtime.main se trouve dans le fichier /usr/local/go/src/runtime/proc.go. Les informations de consommation de métriques montrent que la fonction runtime.main et ses enfants consomment 54,73 Mio de mémoire, soit environ 98 % de la mémoire totale consommée par le programme :

Consommation de métriques sur runtime.main.

Sélectionner un cadre

Lorsque vous sélectionnez un cadre, le graphique de type "flamme" est redessiné avec ce cadre affiché en pleine largeur et les couleurs les plus hautes de la pile d'appels sont désactivées. Cette action ne modifie aucun paramètre. Seul l'affichage du graphique est modifié. Pour revenir à la vue d'origine, sélectionnez le cadre racine (supérieur).

Dans l'exemple suivant, le pointeur se trouve sur un petit cadre, ce qui rend l'affichage de la pile d'appels difficile. L'info-bulle identifie (*huffmanBitWriter).write comme fonction de cadre :

Cadre miniature dans le graphique de type "flamme".

Lorsque vous sélectionnez un cadre, le graphique est redessiné, ce qui rend la pile d'appels plus visible :

Cadre miniature élargi

Étapes suivantes