Udostępnij za pośrednictwem


Co nowego w śledzeniu zdarzeń

W tej sekcji opisano nowe funkcje dodane do śledzenia zdarzeń dla systemu Windows w każdej wersji.

Windows 10, wersja 1709

Funkcja ETW może teraz opcjonalnie śledzić pliki binarne dla wszystkich dostawców, którzy są włączeni do sesji. Śledzenie ma zastosowanie wstecznie dla dostawców, którzy zostali włączeni do sesji przed jej rozpoczęciem, jak również dla wszystkich przyszłych dostawców, którzy będą włączani do sesji. Teraz możesz również wykonać zapytanie dotyczące aktualnie skonfigurowanej maksymalnej liczby rejestratorów systemu dozwolonych przez system operacyjny. Aby uzyskać więcej informacji, zobacz wartości TraceProviderBinaryTracking oraz TraceMaxLoggersQuery w wyliczeniu TRACE_INFO_CLASS. Zobacz także Pobieranie dodatkowych danych śledzenia zdarzeń.

Funkcja ETW może teraz filtrować zdarzenia na podstawie nazwy zdarzenia. Można również określić, dla których zdarzeń przechwytywane są ich stosy. Aby uzyskać więcej informacji, zobacz EVENT_FILTER_TYPE_EVENT_NAME, EVENT_FILTER_TYPE_STACKWALK_NAME i EVENT_FILTER_TYPE_STACKWALK_LEVEL_KW wartości struktury EVENT_FILTER_DESCRIPTOR, a także skojarzone struktury EVENT_FILTER_EVENT_NAME i EVENT_FILTER_LEVEL_KW.

Windows 10

tracelogging opiera się na ETW i zapewnia uproszczony sposób instrumentowania kodu dla deweloperów natywnych, .NET i WinRT. Funkcja TraceLogging umożliwia dołączanie danych strukturalnych ze zdarzeniami, korelowanie zdarzeń i nie wymaga oddzielnego pliku XML manifestu instrumentacji.

Cechy dostawcy zostały dodane jako metoda dołączania dodatkowych danych do rejestracji indywidualnych dostawców. Mogą być one używane na potrzeby dostawców korzystających z manifestów lub TraceLogging. Obecnie obejmuje to obsługę dodawania nazwy dostawcy i/lub grupy dostawców do rejestracji indywidualnego dostawcy. Grupy dostawców to nowa funkcja umożliwiająca kontrolowanie wielu dostawców ETW w agregacji przez grupę, do której należą.

Okresowy stan przechwytywania to sposób, aby umożliwić rutynowe wysyłanie powiadomień o stanie przechwytywania do dostawców. Po włączeniu tej opcji powiadomienia będą wysyłane tylko do rejestracji usługodawców, które zostały wcześniej włączone w bieżącej sesji. Każdy dostawca może zdefiniować własną odpowiedź (jeśli istnieje) na powiadomienie. Aby uzyskać szczegółowe informacje o implementacji, zobacz TRACE_PERIODIC_CAPTURE_STATE_INFO.

Windows 8.1 i Windows Server 2012 R2

Następujące funkcje zostały dodane do funkcji śledzenia zdarzeń w systemach Windows 8.1 i Windows Server 2012 R2.

Funkcje, które obsługują wykorzystanie filtrów ładunku zdarzenia, zakresu i chodu stosu używanych przez funkcję EnableTraceEx2 oraz struktury ENABLE_TRACE_PARAMETERS i EVENT_FILTER_DESCRIPTOR do filtrowania specyficznych warunków w sesji rejestratora. Aby uzyskać więcej informacji, zobacz:

Ponadto zapoznaj się z obszerną dokumentacją dotyczącą funkcji EnableTraceEx2 oraz struktur ENABLE_TRACE_PARAMETERS i EVENT_FILTER_DESCRIPTOR używanych przez te funkcje.

Struktura definiująca predykat filtru ładunku zdarzeń, opisująca, jak filtrować pojedyncze pole w sesji śledzenia, używanej przez nową funkcję TdhCreatePayloadFilter i nową strukturę używaną przez identyfikatory zdarzeń i filtry stosu. Aby uzyskać więcej informacji, zobacz:

Funkcje pobierające informacje o zdarzeniach znajdujących się w manifeście dostawcy. Aby uzyskać więcej informacji, zobacz:

Struktura, która definiuje tablicę zdarzeń w manifeście dostawcy używanym przez nową funkcję TdhEnumerateManifestProviderEvents. Aby uzyskać więcej informacji, zobacz:

Windows 8 i Windows Server 2012

Następujące funkcje zostały dodane do śledzenia zdarzeń w systemach Windows 8 i Windows Server 2012.

Funkcje, które wykonują operacje na obiekcie rejestracji, umożliwiają analizowanie ładunku zdarzeń, udostępniają przeglądanie dostawcy śledzenia, zapytują o ustawienia sesji śledzenia zdarzeń i przetwarzają załadowany ponownie plik śledzenia. Aby uzyskać więcej informacji, zobacz:

Interfejsy, które dostarczają informacje dla relogera o procesie śledzenia oraz gdy zdarzenia są rejestrowane, dają dostęp do danych dla określonego zdarzenia i umożliwiają manipulowanie funkcjami relogera plikami dzienników śledzenia zdarzeń (ETL). Aby uzyskać więcej informacji, zobacz:

Dodatkowe wyliczenia używane przez nowe funkcje i interfejsy. Aby uzyskać więcej informacji, zobacz:

Windows 7 i Windows Server 2008 R2

W tej wersji dodano następujące funkcje:

  • Możliwość definiowania filtrów przez dostawców w manifeście. W systemie Windows Vista kontrolery mogą przekazywać dane filtru do dostawcy. Jednak układ danych filtru nie został zdefiniowany w manifeście, więc dostawca musiałby użyć innych środków w celu udostępnienia definicji filtru kontrolerom. W tej wersji dostawcy mogą zdefiniować definicję filtru w manifeście (zobacz atrybut filtry w złożonym typie ProviderType). Kontrolery mogą następnie użyć funkcji TdhEnumerateProviderFilters w celu określenia definicji filtru. Dostawcy korzystający z filtrów powinni użyć funkcji EventWriteEx w celu zapisania zdarzenia.
  • Możliwość użycia pojedynczego buforu do zbierania zdarzeń generowanych na wielu procesorach. Użycie pojedynczego buforu eliminuje zdarzenia, które pojawiają się w niewłaściwej kolejności na komputerach z wieloma procesorami. Aby uzyskać szczegółowe informacje, zobacz tryb rejestrowania EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING. Domyślnie ETW używa buforów na procesor.
  • Możliwość zapisywania śladu stosu dla zdarzeń. Aby włączyć śledzenie stosu dla zdarzeń jądra, zobacz funkcję TraceSetInformation. Aby włączyć śledzenie stosu dla zdarzeń użytkownika, zapoznaj się z flagą EVENT_ENABLE_PROPERTY_STACK_TRACE dla członka EnableProperty w ramach ENABLE_TRACE_PARAMETERS.
  • Możliwość określenia trybu rejestrowania EVENT_TRACE_BUFFERING_MODE lub EVENT_TRACE_FILE_MODE_NEWFILE za pomocą trybu rejestrowania EVENT_TRACE_PRIVATE_LOGGER_MODE (zobacz stałe trybu rejestrowania ).
  • Możliwość synchronicznego włączania dostawcy. Domyślnie dostawcy są włączani asynchronicznie. Aby włączyć dostawcę synchronicznie, ustaw parametr Timeout w EnableTraceEx2.
  • Możliwość zażądania przez kontrolera, aby dostawca zarejestrował jego stan. Aby uzyskać szczegółowe informacje, zobacz flagę EVENT_CONTROL_CODE_CAPTURE_STATE dla parametru ControlCode funkcji EnableTraceEx2.
  • Możliwość formatowania danych zdarzeń przez użytkowników przy użyciu funkcji TdhFormatProperty.
  • Możliwość dekodowania przejawionych zdarzeń na komputerach, które nie mają zainstalowanego dostawcy. Aby uzyskać szczegółowe informacje, zobacz funkcję TdhLoadManifest.

W tej wersji dodano następujące funkcje:

W tej wersji dodano następujące struktury:

W tej wersji dodano następujące wyliczenia:

W tej wersji dodano następujące klasy MOF: