Freigeben über


Identifizieren von heißen Pfaden mit einem Flammdiagramm (C#, Visual Basic, C++, F#)

Visual Studio-Profilerstellungstools für die CPU-Auslastung und Instrumentierung umfassen die Ansicht Flame-Diagramm. Das Flame-Diagramm unterstützt Sie dabei, die langsamsten Pfade in Ihrem Code zu identifizieren, indem Sie eine Visualisierung der Aufrufstruktur anzeigen. Der hot path ist der Aufrufstapel für die Funktionen, die die meiste CPU oder die meiste Zeit verwenden, und ist häufig ein guter Ort, um nach potenziellen Leistungsoptimierungen zu suchen. Das Diagramm bietet einen visuellen Überblick darüber, wo die Zeit in Ihrer Anwendung aufgewendet wird, und Sie können auf bestimmte Knoten klicken, um sie weiter einzugraben.

Screenshot zeigt Flame Graph mit angezeigtem Kontextmenü.

Ein Lernprogramm zur Verbesserung der Leistung mithilfe des Flammdiagramms finden Sie in Fallstudie: Leitfaden für Anfänger zur Optimierung von Code. Informationen zum CPU-Profiler finden Sie unter Analysieren der Leistung mithilfe von CPU-Profilerstellung.

Untersuchen der langsamsten Pfaden

Die Ansicht „Flame-Diagramm“ befindet sich in der Detailansicht des Berichts .diagession.

  1. Starten Sie Profilerstellungssitzung mit dem Tool für die CPU-Auslastung oder Instrumentierung.

  2. Nachdem Sie die Profilerstellungssitzung beendet haben und der Bericht geladen wurde, wählen Sie Details öffnen aus.

    Screenshot mit ausgewählter Option

  3. Wählen Sie im Dropdown-Menü "Aktuelle Ansicht" die Option Flame Graph aus.

    Screenshot: Auswahl der Ansicht „Flame-Diagramm“

    Die Flammdiagrammansicht wird angezeigt.

    Screenshot: Anzeige der Übersicht „Flame-Diagramm“

    Der langsamste Pfad ist der Codepfad, der die höchste CPU-Auslastung aufweist oder am meisten Zeit beansprucht, während Sie die Aufrufstruktur nach unten durchgehen.

    Standardmäßig stellen die im Flame-Diagramm angezeigten Daten die gleichen Daten wie in der Ansicht Anrufstruktur im Zeitraum der Datensammlung dar. Insbesondere zeigt sie für die CPU-Auslastung die Gesamt-CPU- Werte an. Dieser Wert ist einschließlich, sodass er die CPU-Auslastung (d. h. CPU-Berechnungszeit) umfasst, die von Aufrufen der Funktion verwendet wird, und alle anderen Funktionen, die von der Funktion aufgerufen werden. Analog dazu zeigt das Diagramm für die Instrumentierung die Werte an, die in der Ansicht „Aufrufstruktur“ der Spalte Summe entsprechen.

    Wenn Sie jedoch einen Knoten auswählen, wird der ausgewählte Knoten zur neuen Basislinie und verwendet 100% der Flammdiagrammbreite. Auf diese Weise können Sie eine komplexe Anrufstruktur besser visualisieren und lange Namen anzeigen, wenn sie abgeschnitten oder ausgeblendet sind. Hier ist ein Beispiel für ein Flammdiagramm, das einen komplexeren Aufrufbaum zeigt.

    Screenshot: Flame-Diagramm für eine komplexe Anrufstruktur

    Um Details zu einem beliebigen Knoten anzuzeigen, wählen Sie den Knoten aus.

    Wählen Sie Zoom zurücksetzen, um zur Standardansicht zurückzukehren.

    Sie können auch zu verschiedenen Ansichten im Profilerstellungsbericht navigieren, indem Sie einen Knoten auswählen und dann eine Option wie Ansicht in der Anrufstruktur aus dem Kontextmenü auswählen.

    Screenshot: Option „Flame-Diagramm“ zum Anzeigen in der Anrufstruktur

Flammdiagramm kippen

Standardmäßig wird das Flame-Diagramm im Tool auf dem Kopf stehend oder als icicle-Diagramm angezeigt, wobei die Stapeltiefe der Y-Achse von null oben abwärts gezählt wird.

Sie können ein standardmäßiges Flammdiagrammlayout anzeigen, indem Sie auf Flip Flame Graphklicken.

Screenshot: Auswahl „Flammendiagramm spiegeln“

Bei einem komplexen Flammdiagramm können Sie die Visualisierung zoomen, indem Sie bestimmte Elemente auswählen.

In der Flame Graph-Ansicht können Sie navigieren, indem Sie mit der Maus auf einen Knoten klicken oder die Tastatur verwenden. Darüber hinaus werden die folgenden Tastenkombinationen unterstützt.

Tastaturkurzbefehl Befehl
TAB Wechseln zu einem beliebigen Knoten
NACH-OBEN/NACH-UNTEN Zum übergeordneten oder untergeordneten Knoten wechseln
Rechts-/Links-Pfeiltaste Zum Peer eines Knotens im Stapel wechseln
EINGABETASTE Vergrößern (Auswählen)
Flucht Verkleinern