Jak: instrumentu autonomiczne.NET Framework składnika i zbieranie danych czasu z Profiler z wiersza polecenia
W tym temacie opisano, jak używać narzędzi wiersza poleceń Visual Studio Profiling Tools do instrumentacji składników .NET Framework takich, jak pliki .exe lub .dll i zbierać szczegółowe dane chronometrażu.
[!UWAGA]
Ulepszone funkcje zabezpieczeń w systemach Windows 8 i Windows Server 2012 wymagają znaczących zmian w sposobie, w jaki program Profiler środowiska Visual Studio zbiera dane na tych platformach.Sklep Windows aplikacje wymagają również nowych technik gromadzenia.Zobacz Profilowanie 8 systemu Windows i Windows Server 2012 aplikacji.
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-bitowe i 64-bitowe wersje narzędzia.Aby użyć narzędzi profilowania z wiersza polecenia, należy dodać ścieżkę narzędzi do zmiennej środowiskowej PATH okna wiersza poleceń lub dodać do niej samo polecenie.Aby uzyskać więcej informacji, zobacz Określając ścieżkę do narzędzia wiersza polecenia narzędzia profilowania.
Dodawanie danych interakcji do profilowania przebiegu wymaga szczególnych procedur z wiersza polecenia narzędzia profilowania.Zobacz Dodawanie danych o interakcji między warstwami za pośrednictwem wiersza polecenia.
Aby zebrać szczegółowe dane chronometrażu z komponentu .NET Framework przy użyciu metody instrumentacji należy użyć narzędzia VSInstr.exe do wygenerowania instrumentowanej wersji składnika i narzędzia VSPerfCLREnv.cmd do inicjowania zmiennych środowiskowych profilowania.Następnie uruchom profiler.
Po wykonaniu instrumentowanego składnika, dane chronometrażu są automatycznie zbierane do pliku danych.Można wstrzymywać i wznawiać zbieranie danych podczas sesji profilowania.
Aby zakończyć sesję profilowania, należy zamknąć aplikację docelową i jawnie zamknąć profiler.W większości przypadków zaleca się wyczyszczenie zmiennych środowiskowych profilowania na końcu sesji.
Rozpoczynanie sesji profilowania
Aby uruchomić profilowanie przy użyciu metody Instrumentacji
Otwórz okno wiersza poleceń.W razie potrzeby dodaj katalog narzędzi profilera do swoje zmiennej środowiskowej PATH.Ścieżka nie jest dodawana podczas instalacji.
Użyj narzędzia VSInstr do generacji instrumentowanej wersji aplikacji docelowej.
Zainicjuj profilowanie zmiennych środowiskowych .NET Framework.Wpisz:
VSPerfClrEnv /traceon
Uruchom program Profiler.Wpisz:
**VSPerfCmd /start:trace /output:**OutputFile [Options]
Opcja /start:trace inicjuje profiler.
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.
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.
Włącza profilowanie procesów w innych sesjach.Ta opcja jest wymagana, jeśli aplikacja ASP.NET jest uruchomiona w innej sesji.Identyfikator sesji jest wymieniony w kolumnie identyfikator sesji, na karcie Procesy Menedżera zadań Windows./CS może być określona jako skrót dla /crosssession.
Uruchamia profiler ze wstrzymanym zbieraniem danych.Użyj /globalon aby wznowić profilowanie.
/counter:Config
Zbiera informacje z licznika wydajności procesora, który jest określony w Config.Informacje z licznika zostaną dodane do danych zbieranych na każde zdarzenie profilowania.
/wincounter:WinCounterPath
Określa licznik wydajności systemu Windows, który ma zbierać dane podczas profilowania.
/automark:Interval
Należy używać wyłącznie z /wincounter.Określa liczbę milisekund między zdarzeniami zbierania licznika wydajności systemu Windows.Wartość domyślna to 500ms.
/events:Config
Określa zdarzenie śledzenia zdarzeń systemu Windows (ETW), które mają być zbierane podczas profilowania.Zdarzenia ETW są zbierane w oddzielnym pliku (.etl).
Uruchom aplikację docelową z okna Wiersza poleceń.
Kontrolowanie zbierania danych
Gdy jest uruchomiona aplikacja docelowa, można kontrolować zbierania danych przez uruchamianie i zatrzymywanie zapisywania danych do pliku z danymi profilera przy użyciu opcji VSPerfCmd.exe.Kontrolowanie zbierania danych umożliwia zbieranie danych dla określonej części wykonywania programu, takiej jak uruchamianie lub zamykanie aplikacji.
Aby uruchomić i zatrzymać zbieranie danych
Następujące pary opcji uruchamiają i zatrzymują zbieranie danych.Określ każdą opcję w oddzielnym wierszu poleceń.Zbieranie danych można włączać i wyłączać wiele razy.
Opcja
Opis
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).
Możesz także użyć opcji VSPerfCmd.exe/mark, aby wstawić znacznik programu profilującego do pliku z danymi.Polecenie /mark dodaje identyfikator, sygnaturę czasową i opcjonalny tekst zdefiniowany przez użytkownika.Znaczniki mogą być używane do filtrowania danych w raportach programu Profiler i widokach danych.
Kończenie sesji profilowania
Aby zakończyć sesję profilowania, należy zamknąć aplikację, która uruchamia oprzyrządowany składnik.Call VSPerfCmd/shutdown opcję, aby wyłączyć profiler i zamknąć plik danych profilowania.Polecenie VSPerfClrEnv /off czyści zmienne środowiskowe profilowania.
Aby zakończyć sesję profilowania
Zamknij aplikację docelową.
Zamknij program Profiler.Wpisz:
VSPerfCmd /shutdown
(Opcjonalne) Wyczyść zmienne środowiskowe profilowania.Wpisz:
VSPerfClrEnv /off
Zobacz też
Koncepcje
Wiersza polecenia profilowania aplikacji autonomicznych