Identifikace horkých cest pomocí grafu plamene (C#, Visual Basic, C++, F#)
Profilovací nástroje sady Visual Studio pro využití procesoru a instrumentaci zahrnují zobrazení Flame Graph. Graf plamene vám pomůže identifikovat horké cesty v kódu tak, že zobrazí vizualizaci stromu volání. Kritická cesta je zásobník volání pro funkce, které využívají nejvíce výpočetního výkonu či času, a často je vhodným bodem pro hledání potenciálních optimalizací výkonu. Graf poskytuje vizuální přehled o tom, kde je čas strávený ve vaší aplikaci, a můžete kliknout na konkrétní uzly a podrobněji je prozkoumat.
Kurz, který ukazuje, jak zlepšit výkon pomocí grafu plamene, najdete v případové studii: Příručka začátečníka k optimalizaci kódu. Informace o profileru procesoru najdete v tématu Analýza výkonu pomocíprofilace procesoru .
Prozkoumání horkých cest
Zobrazení Flame Graph se nachází v zobrazení podrobností sestavy .diagession.
Začněte profilovací relaci s nástrojem Využití CPU nebo Nástroj pro instrumentaci.
Po zastavení relace profilace a načtení sestavy vyberte Otevřít podrobnosti.
V rozevíracím seznamu Aktuální zobrazení vyberte Plamenový graf.
Zobrazí se zobrazení Flame Graph.
Horká cesta je cesta kódu, která používá nejvíce procesoru nebo nejvíce času, když se podíváte dolů přes strom volání.
Ve výchozím nastavení data zobrazená v Grafu plamene představují stejná data jako v zobrazení stromu volání pro období shromažďování dat. Konkrétně u využití procesoru se zobrazí hodnoty celkové CPU. Tato hodnota je inkluzivní, takže zahrnuje využití procesoru (tj. čas výpočtu procesoru) používaný voláními funkce a všechny další funkce volané funkcí. Stejně tak, pro instrumentaci, graf zobrazuje hodnoty ekvivalentní sloupci Suma ve stromovém zobrazení volání.
Pokud ale vyberete uzel, stane se vybraný uzel novým směrný plán a použije 100% šířky grafu plamene. Díky tomu můžete lépe vizualizovat složitý strom volání a zobrazovat dlouhé názvy, když jsou zkrácené nebo skryté. Tady je příklad grafu plamene, který zobrazuje složitější strom volání.
Pokud chcete zobrazit podrobnosti o libovolném uzlu, vyberte uzel.
Pokud se chcete vrátit do výchozího zobrazení, zvolte Obnovit zobrazení.
V sestavě profilace můžete také přejít na různá zobrazení výběrem uzlu a následným výběrem možnosti, jako je například Zobrazit ve stromu volání, z místní nabídky.
Překlopení grafu plamene
Ve výchozím nastavení je graf plamene v nástroji zobrazen vzhůru nohama nebo jako icicle chart, kde osa y počítá hloubku zásobníku směrem dolů od nuly v horní části.
Standardní rozložení grafu plamene můžete zobrazit kliknutím na Flip Flame Graph.
Navigace v grafu plamene
U komplexního grafu plamene můžete vizualizaci přiblížit výběrem konkrétních prvků.
V zobrazení Flame Graph můžete procházet kliknutím na uzel myší nebo pomocí klávesnice. Podporují se také následující klávesové zkratky.
Klávesová zkratka | Příkaz |
---|---|
Tabulátor | Přejděte na libovolný uzel |
Šipka nahoru/Šipka dolů | Přejít na nadřazený nebo podřízený uzel |
Šipka vpravo/vlevo | Přejděte k sousedovi uzlu v zásobníku |
Vstoupit | Přiblížení (výběr) |
Útěk | Oddálit |