Delen via


Dynamische paden identificeren met een vlamgrafiek (C#, Visual Basic, C++, F#)

Visual Studio-profileringshulpprogramma's voor CPU-gebruik en instrumentatie omvatten de Flame Graph weergave. De Flame Graph helpt u bij het identificeren van hete paden in uw code door een visualisatie van de aanroepstructuur te tonen. Het hete pad is de call stack voor de functies die de meeste CPU-capaciteit of de meeste tijd verbruiken, en is vaak een goede plek om te zoeken naar mogelijke prestatieoptimalisaties. De grafiek geeft een visueel overzicht van waar de tijd in uw toepassing wordt besteed en u kunt klikken op specifieke knooppunten om er verder in te graven.

Schermopname van Flame Graph met contextmenu weergegeven.

Zie Casestudy: Beginnershandleiding voor het optimaliseren van codevoor een zelfstudie die laat zien hoe u de prestaties kunt verbeteren met behulp van de vlamgrafiek. Zie Prestaties analyseren met behulp van CPU-profileringvoor meer informatie over de CPU-profiler.

Dynamische paden onderzoeken

De Vlamgrafiek is te vinden in de detailweergave van het rapport .diagession.

  1. Start een profiling-sessie met de CPU-gebruik- of instrumentatietool.

  2. Nadat u de profileringssessie hebt gestopt en het rapport wordt geladen, selecteert u Details openen.

    schermopname met Details openen geselecteerd.

  3. Selecteer Flame Graph in het dropdownmenu Huidige weergave.

    schermopname met de weergave Vlamgrafiek geselecteerd.

    De vlamgrafiekweergave verschijnt.

    Schermopname van het overzicht van Flame Graph weergegeven.

    Het kritieke pad is het codepad dat de meeste CPU of tijd verbruikt wanneer u naar beneden door de aanroepstructuur kijkt.

    De gegevens die in de Vlamgrafiek worden weergegeven, vertegenwoordigen standaard dezelfde gegevens als in de oproepboom weergave tijdens de gegevensverzamelingsperiode. Voor CPU-gebruik worden de totale CPU- waarden weergegeven. Deze waarde is inclusief, dus het omvat het CPU-gebruik (dat wil gezegd, CPU-rekentijd) die wordt gebruikt door aanroepen naar de functie en eventuele andere functies die door de functie worden aangeroepen. Op dezelfde manier toont de grafiek voor Instrumentatie de waarden die overeenkomen met de kolom Totaal in de aanroepboomweergave.

    Als u echter een knooppunt selecteert, wordt het geselecteerde knooppunt de nieuwe basislijn en wordt 100% van de breedte van de vlamgrafiek gebruikt. Hierdoor kunt u een complexe oproepstructuur beter visualiseren en lange namen weergeven wanneer ze worden afgekapt of verborgen. Hier is een voorbeeld van een vlamgrafiek die een complexere oproepboom toont.

    Schermopname van Flame Graph voor een complexe oproepstructuur.

    Als u details over een knooppunt wilt weergeven, selecteert u het knooppunt.

    Kies Zoom opnieuw instellen om terug te keren naar de standaardweergave.

    U kunt ook naar verschillende weergaven in het profileringsrapport navigeren door een knooppunt te selecteren en vervolgens een optie te kiezen, zoals weergave in oproepstructuur in het contextmenu.

    Schermopname met de optie Flame Graph om de oproepstructuur weer te geven.

De vlamgrafiek omdraaien

Standaard wordt de vlamgrafiek in het hulpmiddel ondersteboven weergegeven of als een iciclediagram, waarbij de y-as de stapeldiepte naar beneden aftelt vanaf nul bovenaan.

U kunt een standaard lay-out van een vlamdiagram bekijken door op Flip Flame Graphte klikken.

Schermopname met Flip Flame Graph geselecteerd.

Voor een complexe vlamgrafiek kunt u de visualisatie inzoomen door specifieke elementen te selecteren.

In de weergave Flame Graph kunt u navigeren door te klikken op een knooppunt met een muis of met het toetsenbord. Daarnaast worden de volgende sneltoetsen ondersteund.

Sneltoets Bevelen
Tabblad Naar een willekeurig knooppunt gaan
Pijl omhoog/omlaag Naar een ouder- of kindknooppunt gaan
Rechter-/linkerpijl Naar de peer van een knooppunt op de stack gaan
Binnenkomen Inzoomen (selecteren)
Ontsnappen Uitzoomen