Postupy: Připojení profileru k nativní službě ke shromažďování statistik aplikace pomocí příkazového řádku
Toto téma popisuje, jak lze pomocí nástrojů příkazového řádku nástrojů profilování systému Visual Studio připojit profiler k nativní službě a shromažďovat statistiky výkonu pomocí metody vzorkování.
[!POZNÁMKA]
Rozšířené funkce zabezpečení v systému Windows 8 a Windows Server 2012 vyžadují významné změny ve způsobu, jakým profiler systému Visual Studio na těchto platformách shromažďuje data.Aplikace pro Windows Store také vyžadují nové techniky kolekce.Viz téma Profilování aplikací Windows 8 a Windows Server 2012.
[!POZNÁMKA]
Nástroje příkazového řádku balíku nástrojů pro profilaci jsou umístěny v podadresáři \Team Tools\Performance Tools instalačního adresáře aplikace Visual Studio.Na 64bitových počítačích jsou k dispozici 64bitové i 32bitové verze nástrojů.Chcete-li využívat nástroje příkazového řádku profileru, je nezbytné přidat cestu k nástrojům do proměnné prostředí PATH v okně příkazového řádku nebo do příkazu samého.Další informace naleznete v tématu Určení cesty k nástrojům příkazového řádku pro profilaci.
Zatímco je profiler připojen ke službě, lze pozastavit a obnovit sběr dat.
Chcete-li ukončit relaci profilování, musí být profiler odpojen od služby a poté explicitně ukončen.
Spuštění aplikace profilerem
K připojení profileru k nativní službě je potřeba použít možnosti VSPerfCmd.exe/start a /attach pro inicializaci profileru a pro připojení k cílové aplikaci.Možnosti /start a /attach a jejich příslušné volby lze zadat na jednom řádku příkazu.Chcete-li pozastavit shromažďování dat při spuštění cílové aplikace, lze přidat možnost /globaloff.Poté lze použít možnost /globalon, čímž zahájíte shromažďování dat.
Připojení profileru k nativní službě
Spusťte službu, je-li to zapotřebí.
Otevřete okno příkazového řádku.
Spusťte profiler.Zadejte:
VSPerfCmd /start:sample /output**:**OutputFile [Options]
Možnost /start:sample inicializuje profiler.
Možnost **/output:**OutputFile je vyžadována s možností /start.OutputFile určuje název a umístění souboru dat profilování (.vsp).
S možností /start:sample lze použít kteroukoli z následujících možností.
[!POZNÁMKA]
Pro služby jsou obvykle vyžadovány možnosti /user a /crosssession.
Možnost
Description
/user:[Domain\]UserName
Určuje doménu a uživatelské jméno účtu vlastnícího profilovaný proces.Tato možnost je vyžadována, pouze pokud je proces spuštěn pod jiným než přihlášeným uživatelem.Vlastník procesu je uveden ve sloupci Uživatelské jméno na záložce Procesy ve Správci úloh systému Windows.
Umožňuje profilování procesů v jiných relacích.Tato možnost je vyžadována, pokud je aplikace spuštěna v jiné relaci.ID relace je uvedeno ve sloupci ID relace na kartě Procesy ve Správci úloh systému Windows./CS může být zadán jako zkratka pro /crosssession.
/wincounter:WinCounterPath
Určuje čítač výkonu systému Windows, který má být shromážděn během profilování.
/automark:Interval
Použijte pouze spolu s možností /wincounter.Určuje počet milisekund mezi událostmi sběru čítače výkonu systému Windows.Výchozí hodnota je 500 ms.
/events:Config
Určuje událost ETW, která má být shromážděna během profilování.Události trasování událostí pro Windows jsou shromážděny v samostatném souboru (.etl).
Připojte profiler ke službě.Zadejte:
**VSPerfCmd /attach:**PID [Sample Event]
PID určuje ID procesu cílové aplikace.ID všech spuštěných procesů lze zobrazit ve Správci úloh systému Windows.
Ve výchozím nastavení jsou data výkonu vzorkována každých 10 000 000 nepřerušených hodinových cyklů procesoru.To je přibližně jednou za 10 sekund u procesoru s frekvencí 1 GHz.Pro změnu intervalu hodinových cyklů nebo změnu událostí vyvolávajících odběr vzorků, lze zadat jednu z následujících možností.
Událost vzorku
Description
/timer:Interval
Změní interval vzorkování na počet nepřerušených hodinových cyklů určených parametrem Interval.
/pf[:Interval]
Změní událost odběru vzorků na chyby stránek.Pokud je určen, nastaví parametr Interval počet chyb stránek mezi vzorky.Výchozí hodnota je 10.
/sys [:Interval]
Změní událost odběru vzorků na volání systému z procesu do jádra operačního systému (syscalls).Pokud je zadán parametr Interval, nastaví počet volání mezi vzorky.Výchozí hodnota je 10.
/counter:Config
Změní událost a interval vzorkování na čítač výkonu a interval procesoru zadané parametrem Config.
Řízení sběru dat
Jakmile je cílová aplikace spuštěna, lze použít možnosti nástroje VSPerfCmd.exe pro spuštění a zastavení zápisu dat do souboru dat profilování.Řízení sběru dat umožňuje shromažďovat data pro určitou část programu, například spouštění či ukončování aplikace.
Spuštění a zastavení sběru dat
Následující páry možností VSPerfCmd spouští a zastavují sběr dat.Každou možnost zadejte na samostatný příkazový řádek.Sběr dat lze zapnout a vypnout několikrát.
Možnost
Description
Spustí (/globalon) nebo zastaví (/globaloff) sběr dat pro všechny procesy.
/processon:PID/processoff:PID
Spustí (/processon) nebo zastaví (/processoff) sběr dat pro proces určený pomocí ID procesu (PID).
/attach: {PID|ProcName} /detach[:{PID|ProcName}]
/attach spustí sběr dat pro proces určený identifikátorem procesu nebo názvem procesu./detach zastaví sběr dat pro zadaný proces nebo pro všechny procesy, pokud není žádný proces zadán.
Ukončení relace profilování
Chcete-li ukončit relaci profilování, musí být profiler odpojen od služby a poté explicitně ukončen.Nativní službu, která je právě profilována metodou vzorkování, lze odpojit zastavením této služby nebo zavoláním možnosti VSPerfCmd /detach.Následně je třeba zavolat možnost VSPerfCmd /shutdown k vypnutí profileru a zavření souboru dat profilování.
Ukončení relace profilování
Chcete-li odpojit profiler od cílové aplikace, proveďte jeden z následujících postupů:
Zastavte službu.
-nebo-
Zadejte VSPerfCmd /detach
Ukončete profiler.Zadejte:
VSPerfCmd /shutdown
Viz také
Koncepty
Profilace služeb z příkazového řádku