Sdílet prostřednictvím


Postupy: Instrumentace služby rozhraní .NET a shromažďování podrobných dat časování pomocí příkazového řádku profileru

Toto téma popisuje použití nástrojů příkazového řádku nástrojů pro profilaci sady Visual Studio Premium k instrumentaci služby .NET Framework a sběru detailních dat o časování.

[!POZNÁMKA]

Metodou instrumentace nelze profilovat službu, není-li možné ji po spuštění počítače restartovat (například služba spouštěná pouze spolu s operačním systémem).

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.

Přidání dat interakce vrstvy do běhu profilování vyžaduje zvláštní procedury s nástroji pro profilaci příkazového řádku.Viz téma Přidání dat interakce vrstev z příkazového řádku.

Pro shromáždění podrobných časových údajů ze služby .NET Framework pomocí metody instrumentace je používán nástroj VSInstr.exe, který generuje instrumentovanou verzi komponenty.Jakmile je neinstrumentovaná verze služby nahrazena instrumentovanou verzí, je nutné se ujistit, že je služba nastavena na manuální spuštění.Nástroj VSPerfCLREnv.cmd použijte pro inicializování globálních proměnných profilování a poté restartujte hostitelský počítač.Poté je spuštěn profiler.

Jakmile je služba spuštěna, data o časování jsou automaticky shromažďována do datového souboru.Během relace profilování lze sběr dat pozastavovat a obnovovat.

Chcete-li relaci profilování ukončit, ukončete službu a explicitně vypněte profiler.Ve většině případů doporučujeme na konci relace vyčistit proměnné prostředí profilování.

Spuštění aplikace profilerem

Spuštění profilování služby .NET Framework

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

  2. Vygenerujte instrumentovanou verzi binárního souboru služby pomocí nástroje VSInstr.

  3. Nahraďte původní binární soubor instrumentovanou verzí.Ve Správci řízení služeb systému Windows se ujistěte, že Typ spuštění služby je nastaven na Ručně.

  4. Inicializujte proměnné prostředí pro profilování .NET Framework.Zadejte:

    VSPerfClrEnv /globaltraceon

  5. Restartujte počítač.

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

  7. Spusťte profiler.Zadejte:

    **VSPerfCmd /start:trace /output:**OutputFile[Options]

    • Možnost /start:trace inicializuje profiler.

    • Spolu s možností /start je vyžadována možnost /output**:**OutputFile.OutputFile určuje název a umístění souboru dat profilování (.vsp).

    S možností /start:trace lze použít kteroukoli z následujících možností.

    [!POZNÁMKA]

    Pro profilovací 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.

    /waitstart[:Interval]

    Určuje počet sekund, po které se má čekat na inicializaci profileru, než je vrácena chyba.Není-li zadán parametr Interval, čeká profiler neomezeně dlouho.Ve výchozím nastavení příkaz /start vrátí hodnotu okamžitě.

    /globaloff

    Chcete-li spustit profiler s pozastaveným sběrem dat, přidejte do příkazového řádku /start možnost /globaloff.Obnovu profilování provedete pomocí /globalon.

    /counter:Config

    Shromažďuje informace z čítače výkonu procesoru zadaného v souboru Config.Informace o čítači jsou vloženy do dat shromážděných při každé události profilování.

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

  8. Spusťte službu pomocí Správce nastavení služeb systému Windows.

Řízení sběru dat

Jakmile je služba spuštěna, je možné použít možnosti VSPerfCmd.exe pro spuštění a zastavení zápisu dat do datového souboru profilování.Řízení sběru dat umožňuje shromažďovat data určité části programu, například spouštění či ukončování služby.

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

    /threadon:TID/threadoff:TID

    Spustí (/threadon) nebo zastaví (/threadoff) sběr dat pro vlákno určené pomocí ID vlákna (TID).

Ukončení relace profilování

Chcete-li ukončit relaci profilování, zastavte službu, v níž je spuštěna instrumentovaná komponenta, a poté zavolejte možnost VSPerfCmd /shutdown, vypněte profiler a zavřete soubor dat profilování.Příkaz VSPerfClrEnv /globaloff vymaže proměnné prostředí profilování.

Pro aplikování nového nastavení prostředí je nutné restartovat počítač.

Ukončení relace profilování

  1. Ukončit službu ve Správci řízení služeb.

  2. Ukončete profiler.Zadejte:

    VSPerfCmd /shutdown

  3. Po dokončení veškerého profilování vyčistěte proměnné prostředí profilování.Zadejte:

    VSPerfClrEnv /globaloff

  4. Nahraďte instrumentovaný modul jeho původní verzí.V případě potřeby znovu nastavte Typ spouštění služby.

  5. Restartujte počítač.

Viz také

Koncepty

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

Další zdroje

Zobrazení dat metod instrumentace profileru