Sdílet prostřednictvím


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ě

  1. Spusťte službu, je-li to zapotřebí.

  2. Otevřete okno příkazového řádku.

  3. 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.

    /crosssession

    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).

  4. 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

    /globalon /globaloff

    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í

  1. Chcete-li odpojit profiler od cílové aplikace, proveďte jeden z následujících postupů:

    • Zastavte službu.

      -nebo-

    • Zadejte VSPerfCmd /detach

  2. Ukončete profiler.Zadejte:

    VSPerfCmd /shutdown

Viz také

Koncepty

Profilace služeb z příkazového řádku

Další zdroje

Zobrazení dat metod vzorkování profileru