La scheda Grafico a fiamma mostra un grafico delle chiamate invertito che aggrega stack di chiamate identici. ovvero, metodi o funzioni identici che condividono la stessa sequenza di chiamanti vengono raccolti e rappresentati come una singola barra più lunga in un grafico a fiamme (anziché essere visualizzati come più barre più corte, come mostrato in un grafico delle chiamate). In questo modo è più facile vedere quali metodi o funzioni richiedono più tempo. Tuttavia, ciò significa anche che l'asse orizzontale non rappresenta una cronologia, ma indica la quantità relativa di tempo necessaria per l'esecuzione di ciascun metodo o funzione.
Per illustrare questo concetto, prendi in considerazione il grafico delle chiamate nella Figura 1. Tieni presente che il metodo D effettua più chiamate a B (B1, B2 e B3) e alcune di queste chiamate a B effettuano una chiamata a C (C1 e C3).
Figura 1. Un grafico delle chiamate con più chiamate di metodi che condividono una sequenza comune di chiamanti.
Poiché B1, B2 e B3 condividono la stessa sequenza di chiamanti (A → D → B), vengono aggregati, come mostrato nella Figura 2. Analogamente, C1 e C3 vengono aggregati perché condividono la stessa sequenza di chiamanti (A → D → B → C); tieni presente che C2 non è incluso perché ha una sequenza di chiamanti diversa (A → D → C).
Figura 2. Aggregazione di metodi identici che condividono lo stesso stack di chiamate.
Le chiamate aggregate vengono utilizzate per creare il grafico a fiamma, come mostrato nella Figura 3. Tieni presente che, per una determinata chiamata in un grafico a fiamma, i chiamati che consumano più tempo CPU vengono visualizzati per primi.
Figura 3. Una rappresentazione a grafico a fiamma del grafico delle chiamate mostrato nella Figura 5.