Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Korzystając z okna dialogowego Ustawienia zaawansowane w wizualizatorze współbieżności, można kontrolować sposób zbierania śladów. Okno dialogowe zawiera karty symboli, Just My Code, buforowanie, filtrowanie, zdarzenia CLR, znaczniki, usługodawcy i pliki.
Symbols
Wizualizator współbieżności używa tych samych ustawień symboli co debuger programu Visual Studio. Wizualizator współbieżności używa ustawień do rozpoznawania stosów wywołań skojarzonych z danymi wydajności. Podczas przetwarzania śladów wizualizator współbieżności uzyskuje dostęp do serwerów symboli określonych na stronie ustawień. Gdy te dane są dostępne za pośrednictwem sieci, przetwarzanie danych spowalnia. Aby skrócić czas potrzebny do rozpoznawania symboli, można buforować symbole lokalnie. Jeśli symbole zostały pobrane, program Visual Studio załaduje je z lokalnej pamięci podręcznej.
Tylko mój kod
Domyślnie Just My Code to zestaw plików .exe i .dll skojarzonych z bieżącym rozwiązaniem w programie Visual Studio. Wizualizator współbieżności ocenia ten zestaw plików, gdy używasz funkcji Just My Code do filtrowania stosów wywołań. Na karcie Just My Code (Tylko mój kod) możesz dodać katalogi zawierające . exe i . pliki dll do lokalizacji używanych przez wizualizator współbieżności tylko dla mojego kodu.
Ścieżki plików .exe i .dll są przechowywane w pliku śledzenia, gdy dane śledzenia są zbierane. Zmiana tego ustawienia nie ma wpływu na żadne wcześniej zebrane ślady.
Buforowanie
Wizualizator współbieżności używa śledzenia zdarzeń dla systemu Windows (ETW) podczas zbierania śladu. Funkcja ETW używa różnych buforów podczas przechowywania zdarzeń. Domyślne ustawienia buforu ETW mogą nie być optymalne we wszystkich przypadkach, a w niektórych przypadkach mogą powodować problemy, takie jak utracone zdarzenia. Możesz użyć karty Buforowanie, aby skonfigurować ustawienia buforu ETW. Aby uzyskać więcej informacji, zobacz Śledzenie zdarzeń i struktura EVENT_TRACE_PROPERTIES.
Filter
Na karcie Filtr możesz wybrać zestaw zdarzeń zbieranych przez program Concurrency Visualizer. Wybranie podzestawu zdarzeń ogranicza typy danych wyświetlanych w raportach, zmniejsza rozmiar każdego śladu i skraca czas wymagany do przetwarzania.
Zdarzenia CLR
Zdarzenia generowane przez środowisko uruchomieniowe języka wspólnego (CLR) umożliwiają wizualizatorowi współbieżności rozpoznawanie zarządzanych stosów wywołań. Jeśli wyłączysz zbieranie zdarzeń CLR, rozmiar śledzenia zostanie zmniejszony, ale niektóre stosy wywołań nie zostaną rozwiązane. W związku z tym niektóre działania wątków procesora CPU mogą być niepoprawnie podzielone na kategorie.
Kolekcjonowanie dla procesów natywnych
Domyślnie zdarzenia CLR są zbierane tylko wtedy, gdy proces zarządzany jest profilowany, ponieważ są one zwykle niepotrzebne dla procesów natywnych. W niektórych przypadkach (na przykład gdy proces natywny hostuje clR), może być konieczne zebranie zdarzeń CLR dla procesu natywnego. Jeśli tak jest, zaznacz pole wyboru Zbieraj dane dla procesów natywnych.
Wyłącz zdarzenia rundown
CLR generuje zdarzenia od dwóch dostawców: środowisko uruchomieniowe i rundown. Jeśli chcesz zebrać zdarzenia środowiska uruchomieniowego CLR, ale chcesz uniknąć zbierania zdarzeń rundown, zaznacz pole wyboru Wyłącz zdarzenia rundown . Zmniejsza to rozmiar pliku śledzącego generowanego przez kolekcję, ale niektóre stosy mogą pozostać nierozwiązane. Aby uzyskać więcej informacji, zobacz CLR ETW Providers (Dostawcy CLR ETW).
Przykładowe zdarzenia
Możesz użyć przykładowych zdarzeń do zbierania stosów wywołań skojarzonych z wykonywaniem wątku. Te zdarzenia są zbierane około raz na milisekundę, dla wątków, które są wykonywane w bieżącym procesie. Jeśli wyłączysz zbieranie przykładowych zdarzeń, rozmiar zebranego śledzenia zostanie zmniejszony, ale nie można wyświetlić żadnych stosów wywołań skojarzonych z wykonywaniem wątku.
Zdarzenia procesora GPU
Zdarzenia procesora GPU to zdarzenia generowane przez funkcję DirectX. Jeśli wyłączysz zbieranie zdarzeń GPU, rozmiar zebranych śladów zostanie zmniejszony, ale nie można wyświetlić żadnej aktywności GPU w widoku wykorzystania ani aktywności silnika DirectX w widoku wątków.
Zdarzenia we/wy plików
Zdarzenia we/wy plików reprezentują dostęp do dysku w imieniu bieżącego procesu. Jeśli wyłączysz zdarzenia we/wy pliku, rozmiar śledzenia zostanie zmniejszony, ale widok wątków nie będzie zgłaszać żadnych informacji o kanałach dysku ani operacjach dysku.
Znaczniki
Na karcie Znaczniki można skonfigurować zestaw dostawców ETW, które są wyświetlane jako znaczniki w wizualizatorze współbieżności. Możesz również filtrować kolekcję znaczników na podstawie poziomu ważności i kategorii ETW. Jeśli używasz zestawu Concurrency Visualizer SDK i używasz własnego dostawcy znaczników, możesz zarejestrować go tutaj, aby był wyświetlany w Widoku wątków.
Dodawanie nowego dostawcy
Jeśli kod używa zestawu SDK wizualizatora współbieżności lub generuje zdarzenia ETW zgodne EventSource z konwencją, możesz wyświetlić te zdarzenia w wizualizatorze współbieżności, rejestrując je w tym oknie dialogowym.
W polu Nazwa wprowadź nazwę, która opisuje typy zdarzeń generowanych przez dostawcę. W polu GUID wprowadź identyfikator skojarzony z tym dostawcą. (Identyfikator GUID jest skojarzony z każdym dostawcą ETW).
Opcjonalnie możesz określić, czy należy filtrować zdarzenia od tego dostawcy, na podstawie kategorii lub poziomu ważności. Możesz użyć pola kategorii do filtrowania na podstawie kategorii zestawu SDK Concurrency Visualizer. W tym celu wprowadź rozdzielany przecinkami ciąg kategorii lub zakresów kategorii. Określa kategorie zdarzeń bieżącego dostawcy, które mają być pokazane. Jeśli dodajesz dostawcę EventSource , możesz użyć pola kategorii do filtrowania według słowa kluczowego ETW. Ponieważ słowo kluczowe jest maską bitów, można użyć rozdzielanego przecinkami ciągu liczb całkowitych, aby określić, które bity w masce są ustawione. Na przykład "1,2" ustawia pierwsze i drugie bity, a to przekłada się na 6 w systemie dziesiętnym.
Możesz użyć listy poziomów ważności, aby odfiltrować zdarzenia, które mają znaczenie lub poziom ETW, który jest mniejszy niż określona wartość.
Konfigurowanie istniejącego dostawcy
Aby edytować ustawienia skojarzone z istniejącym dostawcą, wybierz je na liście, a następnie wybierz przycisk Edytuj dostawcę . Możesz zmienić nazwę, identyfikator GUID i ustawienia filtrowania.
Filtrowanie danych znacznika z raportów Concurrency Visualizer
Jeśli nie chcesz, aby dane określonego dostawcy pojawiły się w przyszłych śladach, wyczyść pole wyboru obok dostawcy, który chcesz usunąć.
Files
Na karcie Pliki można określić katalog, w którym pliki śledzenia są przechowywane za każdym razem, gdy dane śledzenia są zbierane. Concurrency Visualizer generuje cztery pliki dla każdej zbieranej ścieżki.
Plik dziennika śledzenia zdarzeń trybu jądra (ETL) (kernel.etl*)
Plik dziennika śledzenia zdarzeń trybu użytkownika (.user.etl*)
Plik danych wizualizatora współbieżności (.CVData*)
Plik śledzenia wizualizatora współbieżności (.CVTrace*)
Dwa pliki ETL przechowują surowe dane śledzenia, a dwa pliki Concurrency Visualizer przechowują przetworzone dane. Zwykle, gdy ślad zostanie przetworzony, nieprzetworzone pliki ETL nie są już używane. Zaznaczenie pola wyboru Usuń pliki dziennika śledzenia zdarzeń (ETL) po analizie zmniejsza ilość danych śledzenia przechowywanych na dysku.