Identifiera heta sökvägar med ett flamdiagram (C#, Visual Basic, C++, F#)
Visual Studio-profileringsverktyg för processoranvändning och instrumentering innehåller Flame Graph- vy. Flame Graph- hjälper dig att identifiera heta sökvägar i koden genom att visa en visualisering av anropsträdet. Den heta sökvägen är anropsstacken för de funktioner som använder mest CPU eller mest tid, och är ofta ett bra ställe att leta efter potentiella prestandaoptimeringar. Diagrammet ger en visuell översikt över var tiden spenderas i ditt program och du kan klicka på specifika noder för att fördjupa dig i dem ytterligare.
En självstudiekurs som visar hur du förbättrar prestandan med hjälp av flamdiagrammet finns i Fallstudie: Nybörjarguide för att optimera kod. Information om CPU-profileraren finns i Analysera prestanda med hjälp av CPU-profilering.
Undersöka heta vägar
Flame Graph-vyn finns i informationsvyn för .diagession rapport.
Starta en profileringssession med antingen CPU-användningsverktyget eller instrumenteringsverktyget.
När du har stoppat profileringssessionen och rapporten läses in väljer du Öppna information.
Välj Flame Graph i rullgardinsmenyn för aktuell vy.
Flame Graph-vyn visas.
Den heta sökvägen är den kodsökväg som använder mest CPU eller mest tid när du tittar nedåt genom anropsträdet.
Som standard representerar data som visas i Flame Graph samma data som i Anropa träd vy för datainsamlingsperioden. Mer specifikt för CPU-användning visar den värdena för Total CPU. Det här värdet är inkluderande, så det inkluderar cpu-användning (dvs cpu-beräkningstid) som används av anrop till funktionen och andra funktioner som anropas av funktionen. På samma sätt, för Instrumentation, visar diagrammet värdena som motsvarar kolumnen Total i anropsträdsvyn.
Men om du väljer en nod blir den valda noden den nya baslinjen och använder 100% av flamdiagrammets bredd. På så sätt kan du bättre visualisera ett komplext anropsträd och visa långa namn när de trunkeras eller döljs. Här är ett exempel på ett flamdiagram som visar ett mer komplext anropsträd.
Om du vill visa information om en nod väljer du noden.
Välj Återställ zoomning för att återgå till standardvyn.
Du kan också navigera till olika vyer i profileringsrapporten genom att välja en nod och sedan välja ett alternativ, till exempel Visa i anropsträdet från snabbmenyn.
Vänd flamdiagrammet
Som standard visas flamdiagrammet i verktyget upp och ned eller som ett istappar, där y-axeln räknar stackdjupet nedåt från noll högst upp.
Du kan visa en standardlayout för flamdiagram genom att klicka på Flip Flame Graph.
Navigera i flamdiagrammet
För ett komplext flamdiagram kan du zooma visualiseringen genom att välja specifika element.
I vyn Flame Graph kan du navigera genom att klicka på en nod med en mus eller med hjälp av tangentbordet. Dessutom stöds följande kortkommandon.
Kortkommando | Befallning |
---|---|
Flik | Gå till valfri nod |
Uppåt-/nedåtpil | Gå till en nods föräldernod eller barnnod |
Höger-/vänsterpil | Gå till en nods peer i stacken |
Gå in | Zooma in (välj) |
Flykt | Zooma ut |