Instrumentace aplikace .NET v sadě Visual Studio (C#, C++, Visual Basic, F#)

S vydáním sady Visual Studio 2022 verze 17.5 můžete použít nový nástroj dynamické instrumentace. Tento nástroj ukazuje přesný počet, kolikrát se vaše funkce volají, a je rychlejší než předchozí verze nástroje Instrumentace. Tento nástroj podporuje instrumentaci .NET Core bez nutnosti souborů PDB. Počínaje sadou Visual Studio 2022 verze 17.6 Preview 2 nástroj podporuje také C/C++.

Tento nástroj se podobá nástroji Využití procesoru, ale je založený na hodinovém čase místo využití procesoru. To znamená, že se v instrumentačním trasování zobrazí blokovaný čas, například doba strávená čekáním na zámky, na rozdíl od nástroje Využití procesoru. Další informace o efektivním používání nástroje Instrumentace najdete v tématu Přehled instrumentace a Vylepšení výkonu sady Visual Studio pomocí nového nástroje Instrumentation Tool.

Instrumentace aplikace

  1. Vyberte Alt+F2 (nebo Debug > Performance Profiler) a otevřete profiler výkonu v sadě Visual Studio.

  2. Zaškrtněte políčko Instrumentace.

    Snímek obrazovky s vybraným nástrojem instrumentace

    Pokud před spuštěním profileru povolíte možnost Začít s pozastavenou kolekcí, nebudou se data shromažďovat, dokud v zobrazení diagnostické relace nevyberete tlačítko Záznam .

    Poznámka:

    Pokud nástroj není k dispozici pro výběr, zrušte zaškrtnutí políčka všech ostatních nástrojů, protože některé nástroje musí běžet samostatně. Další informace o souběžném spouštění nástrojů najdete v tématu Použití více nástrojů profileru současně.

    Pokud nástroj stále není dostupný, zkontrolujte, jestli váš projekt splňuje předchozí požadavky. Ujistěte se, že je projekt v režimu vydané verze, abyste zachytili nejpřesnější data.

  3. Nástroj spustíte výběrem tlačítka Start.

  4. Vyberte položky v programu, které chcete instrumentovat.

    Snímek obrazovky s dialogovým oknem Vybrat položky k instrumentaci

    Počínaje sadou Visual Studio 2022 verze 17.11 Preview 1 zachová profiler vybrané položky pro další spuštění profilace.

  5. Vyberte OK.

  6. Po spuštění nástroje si projděte scénář, který chcete v aplikaci profilovat. Pak vyberte Zastavit shromažďování nebo zavřete aplikaci a zobrazte data.

Analýza sestavy instrumentace

Vaše profilace se zobrazí v sadě Visual Studio.

Snímek obrazovky znázorňující data instrumentace .NET

Zobrazení dat instrumentace zobrazuje seznam funkcí seřazených nejdéle běžícími, přičemž nejdéle běžící funkce v horní části horních funkcí. V části Horká cesta se zobrazuje zásobník volání pro funkce, které používají nejvíce času. Tyto seznamy vám můžou pomoct s funkcemi, u kterých dochází k kritickým bodům výkonu.

Klikněte na funkci, kterou vás zajímá, a zobrazí se podrobnější zobrazení.

Dostupná data se podobají nástroji Využití procesoru s tím rozdílem, že jsou založená na hodinovém čase a počtu volání místo využití procesoru.

Analýza přehledů

Pokud se v části Top Insights zobrazí nějaké přehledy , pomocí uvedeného odkazu získáte další informace o zjištěném problému. Další informace najdete v přehledech procesoru, ale mějte na paměti, že informace o nástroji instrumentace jsou specifické pro čas strávený hodinami a ne využití procesoru.

Pokud navíc používáte Copilot, otevřete okno chatu Copilot tlačítkem Ask Copilot a Copilot nabídne návrhy na základě zkoumání kódu a zjištěných problémů.

Analýza podrobných sestav instrumentace

Pokud chcete analyzovat sestavu instrumentace, klikněte na Otevřít podrobnosti nebo kliknutím na některou z hlavních funkcí otevřete zobrazení Funkce .

Sestava poskytuje různá zobrazení diagnostických dat:

  • Volající nebo volaný
  • Strom volání
  • Moduly
  • Funkce
  • Graf plamene

Ve všech zobrazeních s výjimkou volajícího nebo volaného se diagnostická sestava seřadí podle celkového počtu [jednotka, %] od nejvyššího po nejnižší. Změňte pořadí řazení nebo sloupec řazení výběrem záhlaví sloupců. Poklikejte na funkci, kterou vás zajímá, a zobrazí se zdroj funkce a také zvýraznění, které ukazuje, kde je čas strávený v této funkci. Tabulka zobrazuje sloupce s daty, jako je čas strávený ve funkci, včetně nazývaných funkce (Celkem) a druhý sloupec, který zobrazuje čas strávený ve funkci, s výjimkou funkcí (self).

Tato data vám můžou pomoct vyhodnotit, jestli je samotná funkce kritickým bodem výkonu. Určete, kolik dat se metoda zobrazuje, jestli jsou příčinou pomalého využití koncových bodů kód nebo knihovny modulu runtime jiného výrobce.

Další informace o použití grafu Plamen naleznete v tématu Identifikace horkých cest pomocí Flame Graph.

Strom volání instrumentace

Pokud chcete zobrazit strom volání, vyberte nadřazený uzel v sestavě. Ve výchozím nastavení se stránka Instrumentace otevře v zobrazení Volající/Volaný . V rozevíracím seznamu Aktuální zobrazení vyberte Strom volání. Zobrazení stromu volání vám může pomoct rychle identifikovat kritické body výkonu.

Kliknutím na tlačítko Rozbalit horkou cestu a Zobrazit horkou cestu zobrazíte volání funkcí, která používají nejvíce hodin hodin ve stromovém zobrazení volání.

Snímek obrazovky znázorňující strukturu stromu volání

Další informace k hodnotám ve sloupcích:

  • Total udává, kolik času se ve funkci strávilo, a všechny funkce, které volala. Vysoké celkové hodnoty ukazují na funkce, které využívají nejvíce hodinových časů.

  • Self označuje, kolik času bylo stráveno v těle funkce, s výjimkou času stráveného ve všech funkcích, které byly volány. Vysoké hodnoty sebepoznačují kritický bod výkonu samotné funkce.

  • Počet volání označuje počet volání, kolikrát je volána funkce.

  • Název modulu obsahujícího funkci