Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera informacje o raportach w widoku Wątki w narzędziu Wizualizator współbieżności.
Raport profilu czasu blokowania
Raporty profilów udostępniają zagregowane dane czasu blokowania dla stosów wywołań specyficznych dla każdej kategorii blokującej (na przykład "We/Wy" lub "Synchronizacja"). Raport dotyczący wywłaszczenia zawiera listę procesów, które wywłaszczyły bieżący proces, wraz z liczbą przypadków wywłaszczeń. Aby utworzyć raport profilu blokowania, narzędzie zbiera zablokowane wywołania interfejsu API i kumuluje je w drzewo stosów wywołań. Dane wyświetlane w tych raportach różnią się w zależności od bieżącego zakresu czasu, ukrytych wątków i dwóch następujących filtrów, które mogą być stosowane:
Jeśli wybrano opcję Tylko mój kod, zostaną wyświetlone tylko ramki stosu wywołań zawierające kod użytkownika oraz jeden dodatkowy poziom poniżej kodu użytkownika.
Jeśli ustawiono wartość redukcji hałasu, zestawione stosy, które mają niższą częstotliwość niż określona, zostaną pominięte.
Rozwiń dowolny wpis drzewa wywołań, aby znaleźć wiersz kodu, w którym spędzany jest czas blokady. Aby zlokalizować wiersz źródła dla wpisu, w menu skrótów wybierz pozycję Wyświetl źródło. Aby zlokalizować wiersz kodu, który wywołał ten, w menu skrótów wybierz pozycję Wyświetl miejsca wywołań. Jeśli dostępne jest tylko jedno miejsce wywołania, polecenie łączy się z zaznaczonym wierszem kodu dla miejsca wywołania. Jeśli dostępnych jest wiele witryn wywołań, polecenie otwiera okno dialogowe, w którym można wybrać wpis, a następnie wybrać przycisk Przejdź do źródła , aby zlokalizować wyróżnioną witrynę wywołania. Najczęściej najbardziej przydatne jest wyświetlenie kodu źródłowego dla miejsca wywołania, które ma najwięcej wystąpień, najwięcej czasu lub oba.
Blokowanie kolumn raportu czasu
W poniższej tabeli przedstawiono kolumny dla każdego raportu o czasie blokowania.
| Nazwa kolumny | Description |
|---|---|
| Nazwa | Nazwa funkcji dla każdego poziomu stosu wywołań. |
| Instancje | Liczba wystąpień wywołania blokującego dla widocznego okresu czasu. |
| Czas blokowania inkluzywnego | Łączny czas blokowania spędzony dla wszystkich stosów, które są zwijane do tego poziomu drzewa stosu wywołań. Łączny czas jest sumą wyłącznego czasu blokowania dla tej funkcji oraz wyłącznego czasu blokowania dla wszystkich węzłów podrzędnych. |
| Wyłączny czas blokowania | Łączny czas blokowania, który jest poświęcany, gdy ta funkcja znajduje się na najniższym poziomie stosu wywołań. Jedyny w swoim rodzaju wpis stosu wywołań, charakteryzujący się wysokim wyłącznym czasem blokowania, może być funkcją wartą uwagi. |
| Kategoria API/czekania | Wyświetlane tylko dla funkcji na najniższym poziomie stosu wywołań. Po rozpoznaniu podpisu wywołania blokującego, podano nazwę blokującego interfejsu API. Jeśli podpis nie jest rozpoznawany, informacje przekazywane przez jądro są dostarczane. |
| Szczegóły | W pełni kwalifikowana nazwa funkcji. Obejmuje to liczbę wierszy, jeśli jest dostępna. |
Synchronization
Raport Synchronizacja przedstawia wywołania, które są odpowiedzialne za segmenty, które blokują synchronizację, oraz agregujące czasy blokowania każdego stosu wywołań. Aby uzyskać więcej informacji, zobacz Czas synchronizacji.
Sen
Raport Uśpienie pokazuje wywołania, które są odpowiedzialne za czas blokowania, który został przypisany do czasu spędzonego w stanie uśpienia, oraz zagregowane czasy blokowania każdego stosu wywołań. Aby uzyskać więcej informacji, zobacz Czas uśpienia.
I/O
Raport We/Wy przedstawia wywołania, które są odpowiedzialne za segmenty, które blokują we/wy, oraz zagregowane czasy blokowania każdego stosu wywołań. Aby uzyskać więcej informacji, zobacz Czas we/wy (widok wątków).
Zarządzanie pamięcią
Raport Zarządzanie pamięcią przedstawia wywołania, które są odpowiedzialne za segmenty, które blokują operacje zarządzania pamięcią, oraz agregujące czasy blokowania każdego stosu wywołań. Aby uzyskać więcej informacji, zobacz Czas zarządzania pamięcią.
Wywłaszczanie
Raport Preemption zawiera listę procesów, które poprzedzały bieżący proces wraz z liczbą wystąpień. Każdy proces można rozwinąć, aby wyświetlić konkretne wątki, które zastąpiły te w bieżącym procesie, oraz zobaczyć podział przypadków przerwania na wątek. Ten raport blokujący jest mniej przydatny niż inne, ponieważ wywłaszczanie jest zwykle nakładane na proces przez system operacyjny, a nie przez problem w kodzie. Aby uzyskać więcej informacji, zobacz Czas wywłaszczania.
Przetwarzanie interfejsu użytkownika
Raport Przetwarzanie interfejsu użytkownika przedstawia wywołania, które są odpowiedzialne za blokowanie segmentów blokujących bloki przetwarzania interfejsu użytkownika oraz agregujące czasy blokowania każdego stosu wywołań. Aby uzyskać więcej informacji, zobacz Czas przetwarzania interfejsu użytkownika.
Raport operacji na dysku (widok wątków)
Raport Operacje na dysku przedstawia operacje we/wy dysku w kanałach dysków.
W przypadku każdego dostępu do dysku, który występuje w imieniu procesu profilowanego w aktualnie widocznym przedziale czasu, te informacje są zgłaszane:
Nazwa i identyfikator PID procesu, który wykonał dostęp do dysku
Identyfikator wątku, który uzyskiwał dostęp do dysku
Nazwa pliku, do którego uzyskiwano dostęp
Liczba odczytów na plik
Liczba odczytanych bajtów
Opóźnienie odczytu w milisekundach
Liczba zapisów
Liczba zapisanych bajtów
Opóźnienie zapisu w milisekundach
Raport profilu wykonywania
Raport profilu wykonania jest tradycyjnym profilem próbkowania. Próbki są pobierane mniej więcej co milisekundy w okresach, gdy wątek jest uruchomiony na rdzeniu logicznym, a wizualizator współbieżności tworzy typowe drzewo wywołań, sortując skumulowany zestaw przykładowych stosów. Na dane w tej tabeli mogą mieć wpływ bieżące zakresy czasu i ukryte wątki, a także te filtry, które mogą być stosowane:
Jeśli wybrano opcję Tylko mój kod, wyświetlane są tylko ramki stosu wywołań, które zawierają kod użytkownika oraz jeden dodatkowy poziom poniżej kodu użytkownika.
Jeśli ustawiono wartość redukcji szumu, posortowane stosy z częstotliwością mniejszą niż określona są usuwane z raportu.
W poniższej tabeli przedstawiono kolumny w raporcie.
| Kolumna | Description |
|---|---|
| Name | Nazwa funkcji dla każdego poziomu stosu wywołań. |
| Przykłady inkluzywne | Łączna liczba próbek zebranych dla wszystkich stosów wywołań, które są zsumowane do tego poziomu drzewa stosu wywołań. Liczba włącznie to suma ekskluzywnych próbek dla tej funkcji i liczników sumarycznych dla wszystkich węzłów podrzędnych. |
| Próbki na wyłączność | Łączna liczba zebranych próbek, dla których ta funkcja jest najniższym poziomem stosu wywołań. |
| % inkluzywne | Procent całkowitej liczby próbek pokazanych w kolumnie przykładów inkluzywnych. Wartości procentowe są zaokrąglane do dwóch miejsc dziesiętnych. |
| % ekskluzywności | Procent całkowitej liczby próbek, który jest pokazany w kolumnie próbek wyłącznych. Wartości procentowe są zaokrąglane do dwóch miejsc dziesiętnych. |
| Szczegóły | W pełni kwalifikowana nazwa funkcji. Obejmuje to liczbę wierszy, gdy jest dostępna. |
Ta tabela raportu jest widoczna w widoku Czas wykonywania (widok wątków).
Raport dotyczący znaczników
Raport znaczników zawiera listę znaczników w wyświetlonym przedziale czasu. Przesuwanie, powiększanie lub ukrywanie pasów może spowodować pojawienie się lub zniknięcie znaczników. Raport zawiera te informacje o każdym znaczniku:
Czas, kiedy się rozpoczął, w stosunku do początku śladu.
Jego czas trwania. Czas trwania wynosi zero dla flag i komunikatów, ponieważ reprezentują one chwilową sytuację.
Identyfikator wątku, który go wygenerował.
Dostawca śledzenia zdarzeń dla systemu Windows (ETW), który go wygenerował.
Seria znaczników, na której została oparta.
Kategoria zdarzeń, do których należy.
Jego poziom ważności.
Jego typ (span, flaga lub wiadomość).
Ogólny opis tego, co reprezentuje
Wybierz przycisk Eksportuj , aby zapisać raport znaczników jako plik CSV. Możesz użyć danych w pliku CSV z innymi aplikacjami lub narzędziami.
Uwaga / Notatka
Raport znaczników może wyświetlać 1000 znaczników. Aby wyświetlić wszystkie znaczniki, wyeksportuj pełny raport do pliku CSV.
Raport podsumowania dla każdego wątku
Ten wykres słupkowy przedstawia proporcje czasu, jaki każdy widoczny wątek spędza w każdej kategorii działań w obecnie widocznym zakresie czasowym. "Wykonanie" oznacza, że wątek jest w trakcie wykonywania; pozostałe kategorie oznaczają, że wątek czeka na coś.