Graphique de flammes
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
L'onglet Flame Chart (Graphique de flammes) fournit un graphique d'appel inversé qui agrège les piles d'appels identiques. En d'autres termes, les méthodes ou fonctions identiques qui partagent la même séquence d'appelants sont collectées et représentées sous la forme d'une barre plus longue dans un graphique de flammes (plutôt que de les afficher sous la forme de plusieurs barres plus courtes, comme c'est le cas dans un graphique d'appel). Cela vous permet d'identifier plus facilement les méthodes ou fonctions qui consomment le plus de temps. Toutefois, cela signifie également que l'axe horizontal ne représente pas une chronologie, mais plutôt la durée d'exécution relative de chaque méthode ou fonction.
Pour illustrer ce concept, prenons l'exemple du graphique d'appel de la figure 1. Notez que la méthode D effectue plusieurs appels à B (B1, B2 et B3) et que certains de ces appels à B effectuent un appel à C (C1 et C3).
Figure 1 : Graphique d'appel avec plusieurs appels de méthode partageant une séquence d'appelants commune.
Étant donné que B1, B2 et B3 partagent la même séquence d'appelants (A → D → B), ils sont agrégés, comme illustré à la figure 2. De même, C1 et C3 sont agrégés, car ils partagent la même séquence d'appelants (A → D → B → C). Notez que C2 n'est pas inclus, car il a une séquence d'appelants différente (A → D → C).
Figure 2. Agrégation de méthodes identiques qui partagent la même pile d'appel.
Les appels agrégés sont utilisés pour la création du graphique de flammes, comme illustré à la figure 3.
Notez que, pour un appel donné dans un graphique de flammes, les appelés qui consomment le plus de temps CPU apparaissent en premier.
Figure 3. Représentation sous forme de graphique de flammes du graphique d'appel illustré à la figure 5.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Flame chart\n\nThe **Flame Chart** tab provides an inverted call chart that aggregates\nidentical call stacks. That is, identical methods or functions that share the\nsame sequence of callers are collected and represented as one longer bar in a\nflame chart (rather than displaying them as multiple shorter bars, as shown in a\ncall chart). This makes it easier to see which methods or functions consume the\nmost time. However, this also means that the horizontal axis doesn't represent a\ntimeline; instead, it indicates the relative amount of time each method or\nfunction takes to execute.\n\nTo help illustrate this concept, consider the call chart in Figure 1. Note\nthat method D makes multiple calls to B (B~1~, B~2~, and\nB~3~), and some of those calls to B make a call to C (C~1~ and\nC~3~).\n\n\n**Figure 1.** A call chart with multiple method calls\nthat share a common sequence of callers.\n\n\u003cbr /\u003e\n\nBecause B~1~, B~2~, and B~3~ share the same sequence\nof callers (A → D → B) they are aggregated, as shown in Figure 2. Similarly,\nC~1~ and C~3~ are aggregated because they share the same\nsequence of callers (A → D → B → C); note that C~2~ is not included\nbecause it has a different sequence of callers (A → D → C).\n\n\n**Figure 2.** Aggregating identical methods that share\nthe same call stack.\n\n\u003cbr /\u003e\n\nThe aggregated calls are used to create the flame chart, as shown in Figure 3.\nNote that, for any given call in a flame chart, the callees that consume the\nmost CPU time appear first.\n\n\n**Figure 3.** A flame chart representation of the call\nchart shown in figure 5.\n\n\u003cbr /\u003e"]]