Flame Chart
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A guia Flame Chart oferece um gráfico de chamadas invertido que agrega
pilhas de chamadas idênticas. Ou seja, métodos idênticos que compartilham a
mesma sequência de autores da chamada são coletados e representados como uma barra mais longa em um
Flame Chart em vez de serem exibidos como várias barras mais curtas, como mostrado em um
gráfico da chamada. Dessa forma, é mais fácil ver quais métodos ou funções consomem a maior
quantidade de tempo. No entanto, isso também significa que o eixo horizontal não representa uma
linha do tempo. Em vez disso, indica a quantidade relativa de tempo que cada método ou
função leva para ser executado.
Para ajudar a ilustrar esse conceito, considere o gráfico de chamadas na Figura 1. Observe
que o método D faz várias chamadas para B (B1, B2 e
B3) e que algumas chamadas para B chamam C (C1 e
C3).
Figura 1. Gráfico de chamadas com várias chamadas de método
que compartilham uma sequência comum de autores de chamada.
Como B1, B2 e B3 compartilham a mesma sequência
de autores de chamada (A → D → B), eles são agregados, como mostrado na Figura 2. De forma similar,
C1 e C3 são agregados porque compartilham a mesma
sequência de autores de chamada (A → D → B → C). Observe que C2 não é incluído
porque tem uma sequência diferente de autores de chamada (A → D → C).
Figura 2. Agregação de métodos idênticos que compartilham
a mesma pilha de chamadas.
As chamadas agregadas são usadas para criar o Flame Chart, como mostrado na Figura 3.
Observe que, em qualquer chamada de um Flame Chart, os recebedores que consomem a
maior parte do tempo de CPU são mostrados primeiro.
Figura 3. Representação do Flame Chart do gráfico
de chamadas mostrado na Figura 5.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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"]]