Měření výkonu aplikace z příkazového řádku
Informace o výkonu aplikace můžete shromažďovat pomocí nástrojů příkazového řádku.
V příkladu popsaném v tomto článku shromažďujete informace o výkonu pro microsoft Poznámkový blok, ale stejnou metodu lze použít k profilování libovolného procesu.
Požadavky
Visual Studio verze 2019 nebo novější
Znalost nástrojů příkazového řádku
Pokud chcete na vzdáleném počítači shromažďovat informace o výkonu Visual Studio nainstalované, nainstalujte Remote Tools for Visual Studio na vzdálený počítač. Verze nástrojů musí odpovídat vaší verzi Visual Studio.
Shromažďování údajů o výkonu
Profilace pomocí Visual Studio rozhraní příkazového řádku pro diagnostiku funguje tak, že nástroj pro profilaci spolu s jedním z agentů kolektoru připojí k procesu. Když připojíte nástroj pro profilaci, zahájíte diagnostickou relaci, která zachycuje a ukládá data profilace, dokud se nástroj nezastaví, a v tomto okamžiku se data exportují do souboru .diagsession. Pak můžete tento soubor otevřít v Visual Studio analyzovat výsledky.
Spusťte Poznámkový blok otevřete soubor Správce úloh a získejte ID procesu (PID). V Správce úloh na kartě Podrobnosti vyhledejte PID.
Otevřete příkazový řádek a změňte adresář se spustitelným souborem agenta kolekce, obvykle zde (například Visual Studio Enterprise).
<Visual Studio installation folder>\2022\Enterprise\Team Tools\DiagnosticsHub\Collector\<Visual Studio installation folder>\2019\Enterprise\Team Tools\DiagnosticsHub\Collector\Spusťte VSDiagnostics.exe zadáním následujícího příkazu.
VSDiagnostics.exe start <id> /attach:<pid> /loadConfig:<configFile>Argumenty, které musí být zahrnuty, jsou:
- <id> Identifikuje relaci kolekce. ID musí být číslo v rozmezí 1 až 255.
- <pid>, PID procesu, který chcete profilovat, v tomto případě PID, který jste našli v kroku 1.
- <configFile>– konfigurační soubor agenta kolekce, který chcete spustit. Další informace najdete v tématu Konfigurační soubory pro agenty.
Můžete například použít následující příkaz pro agenta CPUUsageBase tak, že nahradíte pid, jak je popsáno výše.
VSDiagnostics.exe start 1 /attach:<pid> /loadConfig:AgentConfigs\CPUUsageLow.jsonZměňte Poznámkový blok nebo do ní zadejte něco, abyste se ujistili, že se shromažďují některé zajímavé informace profilace.
Zastavte relaci shromažďování a odešlete výstup do souboru zadáním následujícího příkazu.
VSDiagnostics.exe stop <id> /output:<path to file>Vyhledejte výstup souboru .diagsession z předchozího příkazu a otevřete ho v souboru Visual Studio (Otevřít soubor ) a > prozkoumejte shromážděné informace.
Pokud chcete analyzovat výsledky, podívejte se do dokumentace k příslušnému nástroji pro měření výkonu. Může to být například využití procesoru,nástroj pro přidělování objektů .NETnebo databázový nástroj.
Konfigurační soubory agenta
Agenti kolekce jsou zaměnitelné komponenty, které shromažďují různé typy dat v závislosti na tom, co se pokoušíte měřit.
Pro usnadnění doporučujeme uložit tyto informace do konfiguračního souboru agenta. Konfigurační soubor je soubor .json, který obsahuje minimálně název souboru.dlla jeho IDENTIFIKÁTOR CLSID modelu COM. Tady jsou příklady konfiguračních souborů, které najdete v následující složce:
<Visual Studio installation folder>Team Tools\DiagnosticsHub\Collector\AgentConfigs\
Informace o stažení a zobrazení konfiguračních souborů agenta najdete na následujících odkazech:
- https://aka.ms/vs/diaghub/agentconfig/cpubase
- https://aka.ms/vs/diaghub/agentconfig/cpuhigh
- https://aka.ms/vs/diaghub/agentconfig/cpulow
- https://aka.ms/vs/diaghub/agentconfig/database
- https://aka.ms/vs/diaghub/agentconfig/dotnetasyncbase
- https://aka.ms/vs/diaghub/agentconfig/dotnetallocbase
- https://aka.ms/vs/diaghub/agentconfig/dotnetalloclow
- https://aka.ms/vs/diaghub/agentconfig/dotnetcountersbase
Konfigurace CpuUsage (základní/vysoké/nízké) odpovídají datům shromážděných pro nástroj pro profilaci využití procesoru. Konfigurace DotNetObjectAlloc (Base/Low) odpovídají datům shromážděnám pro nástroj pro přidělování objektů .NET.
Konfigurace base/low/high odkazují na vzorkovací frekvenci. Například Nízká je 100 vzorků za sekundu a Vysoká je 4 000 vzorků za sekundu.
Aby nástroj VSDiagnostics.exe fungoval s agentem kolekce, vyžaduje pro příslušného agenta knihovnu DLL i identifikátor CLSID modelu COM. Agent může mít také další možnosti konfigurace, což jsou všechny možnosti zadané v konfiguračním souboru, které jsou formátované jako správně uvozované json.
Oprávnění
Pokud chcete profilovat aplikaci, která vyžaduje zvýšená oprávnění, musíte to udělat z příkazového řádku se zvýšenými oprávněními.