Flame-Diagramm

Auf dem Tab Flame Chart (Flammendiagramm) finden Sie ein umgekehrtes Aufrufdiagramm, in dem identische Aufrufstacks zusammengefasst werden. Das heißt, identische Methoden oder Funktionen, die dieselbe Aufrufersequenz haben, werden zusammengefasst und als ein längerer Balken in einem Flammenchart dargestellt (anstatt als mehrere kürzere Balken wie in einem Aufrufdiagramm). So lässt sich leichter erkennen, welche Methoden oder Funktionen am meisten Zeit in Anspruch nehmen. Das bedeutet jedoch auch, dass die horizontale Achse keinen Zeitverlauf darstellt, sondern die relative Zeit angibt, die für die Ausführung der einzelnen Methoden oder Funktionen benötigt wird.

Abbildung 1 veranschaulicht dieses Konzept. Bei Methode D werden mehrere Aufrufe an B (B1, B2 und B3) ausgeführt und einige dieser Aufrufe an B führen zu einem Aufruf an C (C1 und C3).

Abbildung 1: Ein Aufrufdiagramm mit mehreren Methodenaufrufen, die eine gemeinsame Sequenz von Aufrufern haben.

Da B1, B2 und B3 dieselbe Sequenz von Aufrufern (A → D → B) haben, werden sie aggregiert, wie in Abbildung 2 dargestellt. Ebenso werden C1 und C3 zusammengefasst, da sie dieselbe Abfolge von Aufrufern haben (A → D → B → C). C2 ist nicht enthalten, da es eine andere Abfolge von Aufrufern hat (A → D → C).

Abbildung 2: Identische Methoden mit demselben Aufrufstack werden zusammengefasst.

Die aggregierten Aufrufe werden verwendet, um das Flammen-Diagramm zu erstellen, wie in Abbildung 3 dargestellt. Beachten Sie, dass in einem Flame-Diagramm für einen bestimmten Aufruf die aufgerufenen Funktionen, die die meiste CPU-Zeit beanspruchen, zuerst angezeigt werden.

Abbildung 3: Ein Flame-Diagramm des in Abbildung 5 gezeigten Anruferdiagramms.