Udostępnij za pośrednictwem


Porady: instrumentacja usługi .NET Framework i zbieranie szczegółowych danych o chronometrażu przy użyciu wiersza polecenia profilera

W tym temacie opisano, jak używać narzędzi wiersza poleceń Visual Studio Premium Narzędzi profilujących do instrumentacji usługi .NET Framework i zbierania szczegółowych danych czasowych.

[!UWAGA]

Nie można profilować usługi za pomocą metody instrumentacji, jeśli usługa nie może być uruchomiona ponownie po uruchomieniu komputera. Przykładem może być usługa, która jest uruchamiana tylko podczas uruchamiania systemu operacyjnego.

Narzędzia wiersza poleceń dla Narzędzi profilowania znajdują się w podkatalogu \Team Tools\Performance Tools katalogu instalacyjnego Visual Studio.Na komputerach 64-bitowych dostępne są obie, 32-bitowa i 64-bitowa wersja narzędzia.Aby użyć narzędzi profilowania z wiersza polecenia, należy dodać ścieżkę narzędzi do zmiennej środowiskowej PATH okna wiersza polecenia lub dodać do niej samo polecenie.Aby uzyskać więcej informacji, zobacz Określanie ścieżki do narzędzi wiersza polecenia narzędzi profilowania.

Dodawanie danych interakcji do profilowania uruchomi szczególne procedury z wiersza polecenia narzędzia profilowania.Zobacz Dodawanie danych o interakcji między warstwami za pośrednictwem wiersza polecenia.

Aby zebrać szczegółowe dane czasowe z usługi .NET Framework używając metody instrumentacji, należy użyć narzędzia VSInstr.exe, aby wygenerować instrumentowaną wersję składnika.Można następnie zastąpić wersją oprzyrządowania wersji usługi z oprzyrządowaną wersją upewniając się, że usługa jest skonfigurowana do uruchamiania ręcznego.Użyj narzędzia VSPerfCLREnv.cmd, aby zainicjować zmienne środowiskowe globalnego profilowania, a następnie ponownie uruchom komputer-host.Następnie uruchom program profilujący.

Po wykonaniu usługi, dane dotyczące czasu są automatycznie zbierane do pliku danych.Możesz wstrzymywać i wznawiać zbieranie danych podczas sesji profilowania.

Aby zakończyć sesję profilowania wyłącz usługę, a następnie jawnie zamknij program profilujący.W większości przypadków na końcu sesji zaleca się wyczyszczenie zmiennych środowiskowych profilowania.

Uruchamianie aplikacji z programem profilującym

Aby rozpocząć profilowanie usługi .NET Framework

  1. Otwórz okno wiersza polecenia.

  2. Użyj narzędzia VSInstr do generowania instrumentowanej wersji pliku binarnego usługi.

  3. Zamień oryginalny plik binarny na wersję instrumentowaną.W Menedżerze kontroli usług Windows, upewnij się, że typ usługi uruchomienia ustawiono na Ręcznie.

  4. Inicjowanie zmiennych środowiskowych profilowania .NET Framework.Typ:

    VSPerfClrEnv /globaltraceon

  5. Uruchom ponownie komputer.

  6. Otwórz okno wiersza polecenia.

  7. Uruchom program Profiler.Typ:

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

    • Opcja /start:trace inicjuje program profilujący.

    • Opcja /output**:**OutputFile jest wymagana z /start.OutputFile określa nazwę i lokalizację pliku danych profilowania (vsp).

    Można użyć dowolnej z następujących opcji z opcją /start:trace.

    [!UWAGA]

    Opcje /user i /crosssession są zazwyczaj wymagane dla usług profilowania.

    Opcja

    Opis

    /user:[Domain]\]UserName

    Określa nazwę domeny i użytkownika konta, który jest właścicielem profilowanego procesu.Ta opcja jest wymagana tylko jeśli proces działa jako użytkownik inny niż zalogowany użytkownik.Właściciel procesu jest wymieniony w kolumnie Nazwa użytkownika na karcie Procesy Menedżera zadań Windows.

    /crosssession

    Włącza profilowanie procesów w innych sesjach.Ta opcja jest wymagana, jeśli aplikacja jest uruchomiona w innej sesji.Identyfikator sesji jest wyświetlany w kolumnie Identyfikator sesji, na karcie Procesy w Menedżerze zadań Windows./CS może być określona jako skrót dla /crosssession.

    /waitstart[:Interval]

    Określa liczbę sekund oczekiwania na zainicjowanie programu Profiler, zanim zostanie zwrócony błąd.Jeśli Interval nie jest określony, program Profiler oczekuje w nieskończoność.Domyślnie, niezwłocznie zostaje zwrócony /start.

    /globaloff

    Aby rozpocząć wstrzymane zbieranie danych przez profiler należy dodać opcję /globaloff do wiersza polecenia /start.Użyj /globalon aby wznowić profilowanie.

    /licznik:Config

    Zbiera informacje od licznika wydajności procesora, określone w Konfiguracji.Informacje licznika są dodawane do zebranych danych, podczas każdego zdarzenia profilowania.

    /wincounter:WinCounterPath

    Określa licznik wydajności systemu Windows, który ma zbierać dane podczas profilowania.

    /automark:Interval

    Używaj wyłącznie z /wincounter.Określa liczbę milisekund między zdarzeniami zbierania licznika wydajności systemu Windows.Wartość domyślna to 500 ms.

    /zdarzenia:Config

    Określa zdarzenie śledzenia zdarzeń systemu Windows (ETW), które mają być zbierane podczas profilowania.Zdarzenia ETW są zbierane w oddzielnym pliku (.etl).

  8. Rozpocznij usługę z Menedżera sterowania usługami systemu Windows.

Kontrolowanie zbierania danych

Gdy uruchomiona jest usługa, opcje VSPerfCmd.exe umożliwiają uruchamianie i zatrzymywanie zapisu danych do pliku danych programu profilującego.Kontrolowanie zbierania danych umożliwia zbieranie danych dla określonej części wykonywania programu, takiej jak uruchamianie lub zamykanie usługi.

Aby uruchomić i zatrzymać zbieranie danych

  • Następujące pary opcji VSPerfCmd uruchamiają i zatrzymują zbieranie danych.Określ każdą opcję w oddzielnym wierszu poleceń.Zbieranie danych można wielokrotnie włączać i wyłączać.

    Opcja

    Opis

    /globalon /globaloff

    Uruchamia (/globalon) lub zatrzymuje (/globaloff) zbieranie danych dla wszystkich procesów.

    /processon:PID/processoff:PID

    Uruchamia (/processon) lub zatrzymuje (/processoff) zbieranie danych dla procesu określonego przez identyfikator procesu (PID).

    /threadon:TID/threadoff:TID

    Uruchamia (/threadon) lub zatrzymuje (/threadoff) zbieranie danych dla wątku określonego przez identyfikator wątku (TID).

Kończenie sesji profilowania

Aby zakończyć sesję profilowania, zatrzymaj usługę, na której działa składnik instrumentowany, a następnie wywołaj opcję VSPerfCmd /shutdown, aby wyłączyć program profilujący i zamknąć plik danych profilowania.Polecenie VSPerfClrEnv /globaloff czyści zmienne środowiskowe profilowania.

Należy ponownie uruchomić komputer, aby nowe ustawienia środowiska zostały zastosowane.

Aby zakończyć sesję profilowania

  1. Zatrzymaj usługę z Menedżera sterowania usługami.

  2. Zamknij program Profiler.Typ:

    VSPerfCmd /shutdown

  3. Po zakończeniu wszystkich zadań profilowania, wyczyść zmienne środowiskowe profilowania.Typ:

    VSPerfClrEnv /globaloff

  4. Zastąp moduł instrumentowany jego oryginałem.Jeśli to konieczne, ponownie skonfiguruj Typ uruchomienia usługi.

  5. Uruchom ponownie komputer.

Zobacz też

Koncepcje

Profilowanie wiersza polecenia usług

Inne zasoby

Widok danych metody instrumentacji profilera