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.