Udostępnij za pośrednictwem


Opis narzędzia profilowania wartości danych Instrumentacji

Szczegółowe informacje chronometrażu dla wywołań funkcji, linie i instrukcje w profilowanej aplikacji, dla metody profilowania instrumentacji rekordów Visual Studio.

Wymagania

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional

Metoda instrumentacji wprowadza kod na początek i koniec funkcji docelowej w profilowanych danych binarnych oraz przed i po każdym wywołaniu, przez te funkcje, innych funkcji.Wprowadzony kod rejestruje następujące czynności:

  • Interwał między zdarzeniem zbierania i poprzednim zdarzeniem.

  • Określa czy system operacyjny wykonał operację podczas trwania interwału,Na przykład, system operacyjny może wykonywać odczyt lub zapis na dysku, lub przełączać między wątkiem docelowym i innym wątkiem, w innym procesie.

Wymagania

  • Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional

Dla każdego interwału, analiza programu profilującego rekonstruuje stos wywołań, który był obecny na koniec interwału.Stos wywołań jest listą funkcji, które są aktywne na procesorze, w określonym punkcie w czasie.Tylko jedna funkcja (funkcja bieżąca) wykonuje kod; inne funkcje są łańcuchem wywołań funkcji, który spowodował wywołanie funkcji bieżącej (stos wywołań).

Dla każdej funkcji na stosie wywołań, podczas gdy interwał był nagrywany, analiza programu profilującego dodaje interwał do, od jednej do czterech, wartości danych dla funkcji.Analiza dodaje interwał do wartości danych dla funkcji, na podstawie dwóch kryteriów:

  • Czy wystąpił interwał w kodzie funkcji, czy w funkcji podrzędnej (funkcja, która została wywołana przez funkcję).

  • Czy wystąpiło zdarzenie systemu operacyjnego w interwale.

Wartości danych dla interwału zakresu funkcji lub danych są nazywane Elapsed Inclusive, Elapsed Exclusive, Application Inclusive i Application Exclusive:

  • Wszystkie interwały funkcji są dodawane do wartości danych Elapsed Inclusive.

  • Jeśli interwał wystąpił w kodzie funkcji, a nie w funkcji podrzędnej, interwał jest dodawany do wartości danych funkcji Elapsed Exclusive.

  • Jeśli zdarzenie systemu operacyjnego nie wystąpiło w interwale, interwał jest dodawany do wartości danych Application Inclusive.

  • Jeśli zdarzenie systemu operacyjnego nie wystąpiło w interwale i interwał wystąpił w bezpośrednim wykonaniu kodu funkcji (czyli nie wystąpiło w funkcji podrzędnej), interwał jest dodawany do wartości danych Application Exclusive.

Raporty narzędzi profilowania agregują łączne wartości funkcji w samej sesji profilowania oraz procesy, wątki i pliki binarne sesji.

Wartości Elapsed Inclusive

Całkowity czas spędzony na wykonywaniu funkcji i jej funkcji podrzędnych.

Wartości Elapsed Inclusive uwzględniają interwały, które spędziły czas bezpośrednio na wykonywaniu kodu funkcji i interwały, które spędziły czas na wykonywaniu funkcji podrzędnych funkcji docelowej.Interwały funkcji lub jej funkcji podrzędnych, które obejmują oczekiwanie na system operacyjny, są także uwzględniane w wartościach Elapsed Inclusive.

Wartości Elapsed Exclusive

Czas, który został spędzony na wykonywaniu funkcji, z wyłączeniem czasu spędzonego na wykonywaniu funkcji podrzędnych.

Wartości Elapsed Exclusive obejmują interwały, które spędziły czas bezpośrednio na wykonywaniu kodu funkcji, niezależnie od tego, czy wystąpiło zdarzenie systemu operacyjnego w interwale.Wszystkie interwały, które spędziły czas na wykonywaniu funkcji podrzędnych, które zostały wywołane przez funkcję docelową, nie są uwzględnione w wartościach Elapsed Exclusive.

Wartości Application Inclusive

Czas, który został spędzony na wykonywaniu funkcji i jej funkcji podrzędnych, z wyłączeniem czasu spędzonego na zdarzenia systemu operacyjnego.

Wartości Application Inclusive nie obejmują interwałów, które zawierają zdarzenia systemu operacyjnego.Wartości Application Inclusive obejmują wszystkie inne interwały, które spędziły czas na wykonywaniu funkcji, niezależnie od tego, czy interwał spędził czas bezpośrednio na wykonywaniu kodu funkcji lub spędził czas na wykonywaniu funkcji podrzędnych funkcji docelowej.

Wyłączne Application Exclusive

Czas, który został spędzony na wykonywaniu funkcji, z wyłączeniem czasu spędzonego na wykonywaniu funkcji podrzędnych i czasu, który został spędzony na zdarzenia systemu operacyjnego.

Wartości Application Exclusive nie zawierają interwałów, które zawierają zdarzenia systemu operacyjnego ani interwałów, które spędziły czas na wykonywaniu funkcji, które były wywoływane przez funkcję.Wartości Application Exclusive obejmują tylko interwały, które spędziły czas bezpośrednio na wykonywaniu kodu funkcji i nie zawierają zdarzenia systemu operacyjnego.

Procent wartości Elapsed Inclusive

Procent całkowitej wartości Elapsed Inclusive sesji profilowania, które były wartościami funkcji Elapsed Inclusive, modułu, wątku lub procesu.

100 * Function Elapsed Inclusive / Session Elapsed Inclusive

Procent wartości Elapsed Exclusive

Procent całkowitej wartości Elapsed Inclusive sesji profilowania, które były wartościami funkcji Elapsed Exclusive, modułu, wątku lub procesu.

100 * Function Elapsed Exclusive / Session Elapsed Inclusive

Procent wartości Application Inclusive

Procent całkowitej wartości Application Inclusive sesji profilowania, które były wartościami funkcji Application Inclusive, modułu, wątku lub procesu.

100 * Function Application Inclusive / Session Application Inclusive

Procent wartości Application Exclusive

Procent całkowitej wartości Application Inclusive sesji profilowania, które były wartościami funkcji Application Exclusive, modułu, wątku lub procesu.

100 * Function Application Exclusive / Session Application Inclusive

Zobacz też

Zadania

Jak: Wybierz metod zbierania

Koncepcje

Analizowanie danych narzędzia profilowania