Новые возможности трассировки событий

В этом разделе описываются новые функции, которые были добавлены в трассировку событий для Windows в каждом выпуске.

Windows 10 версии 1709

Трассировка событий Windows теперь может при необходимости отслеживать двоичные файлы для всех поставщиков, которые включены в сеанс. Отслеживание применяется задним числом для поставщиков, которые были включены в сеанс до вызова, а также для всех будущих поставщиков, которые будут включены в сеанс. Теперь вы также можете запросить настроенное в настоящее время максимальное число средств ведения журнала системы, разрешенное операционной системой. Дополнительные сведения см. в разделах Значения TraceProviderBinaryTracking и TraceMaxLoggersQuery перечисления TRACE_INFO_CLASS , а также Получение дополнительных данных трассировки событий.

Трассировка событий Windows теперь может фильтровать события по имени события. Вы также можете определить, какие события собирают свои стеки. Дополнительные сведения см. в разделе EVENT_FILTER_TYPE_EVENT_NAME, EVENT_FILTER_TYPE_STACKWALK_NAME и EVENT_FILTER_TYPE_STACKWALK_LEVEL_KW значения структуры EVENT_FILTER_DESCRIPTOR , а также связанные структуры EVENT_FILTER_EVENT_NAME и EVENT_FILTER_LEVEL_KW .

Windows 10

TraceLogging основан на трассировке событий Windows и предоставляет упрощенный способ инструментирования кода для разработчиков машинного кода, разработчиков .NET и WinRT. TraceLogging позволяет включать структурированные данные с событиями, сопоставлять события и не требует отдельного XML-файла манифеста инструментирования.

Признаки поставщика были добавлены в качестве метода присоединения дополнительных данных к регистрации отдельного поставщика. Их можно использовать для поставщиков на основе манифеста или TraceLogging. В настоящее время сюда входит поддержка добавления имени поставщика и (или) группы поставщиков в регистрацию отдельного поставщика. Группы поставщиков — это новая функция, позволяющая управлять несколькими поставщиками трассировки событий Windows в совокупности группой, к которой они принадлежат.

Периодическое состояние отслеживания — это способ, позволяющий регулярно отправлять уведомления о состоянии отслеживания поставщикам. Если этот параметр включен, уведомления будут отправляться только регистрациям поставщиков, которые ранее были включены в текущий сеанс. Каждый поставщик может определить свой собственный ответ (при наличии) на уведомление. Сведения о реализации см. в разделе TRACE_PERIODIC_CAPTURE_STATE_INFO.

Windows 8.1 и Windows Server 2012 R2

В трассировку событий на Windows 8.1 и Windows Server 2012 R2 добавлены следующие функции.

Функции, поддерживающие использование полезных данных событий, область и фильтров стека, используемых функцией EnableTraceEx2, а также ENABLE_TRACE_PARAMETERS и EVENT_FILTER_DESCRIPTOR структур для фильтрации по определенным условиям в сеансе средства ведения журнала. Дополнительные сведения см. в разделе:

Кроме того, ознакомьтесь с документацией по функции EnableTraceEx2 , а также ENABLE_TRACE_PARAMETERS и EVENT_FILTER_DESCRIPTOR структурами, которые используются этими функциями.

Структура, определяющая предикат фильтра полезных данных события, который описывает фильтрацию по одному полю в сеансе трассировки, используемом новой функцией TdhCreatePayloadFilter , и новую структуру, используемую фильтрами идентификатора события и стека. Дополнительные сведения см. в разделе:

Функции, извлекающие сведения о событиях, присутствующих в манифесте поставщика. Дополнительные сведения см. в разделе:

Структура, определяющая массив событий в манифесте поставщика, используемом новой функцией TdhEnumerateManifestProviderEvents . Дополнительные сведения см. в разделе:

Windows 8 или Windows Server 2012

В трассировку событий на Windows 8 и Windows Server 2012 добавлены следующие функции.

Функции, выполняющие операции с объектом регистрации, обеспечивают анализ полезных данных событий, обеспечивают просмотр в поставщике трассировки, запрашивают параметры сеанса трассировки событий и обрабатывают повторно зарегистрированный файл трассировки. Дополнительные сведения см. в разделе:

Интерфейсы, предоставляющие сведения для повторной записи в журнал процесса трассировки и регистрации событий, доступ к данным для определенного события и доступ к функциям повторной записи, которые позволяют работать с файлами журнала трассировки событий (ETL). Дополнительные сведения см. в разделе:

Дополнительные перечисления, используемые новыми функциями и интерфейсами. Дополнительные сведения см. в разделе:

Windows 7 и Windows Server 2008 R2

В этом выпуске были добавлены следующие функции:

  • Возможность для поставщиков определять фильтры в манифесте. В Windows Vista контроллеры могут передавать данные фильтра поставщику. Однако структура данных фильтра не была определена в манифесте, поэтому поставщику придется использовать другие средства для предоставления определения фильтра контроллерам. В этом выпуске поставщики могут определять определение фильтра в манифесте (см. атрибут filters сложного типа ProviderType ). Затем контроллеры могут использовать функцию TdhEnumerateProviderFilters для определения фильтра. Поставщики, использующие фильтры, должны использовать функцию EventWriteEx для записи события.
  • Возможность использовать один буфер для сбора событий, созданных на нескольких процессорах. Использование одного буфера позволяет исключить появление событий из-за неупорядоченности на компьютерах с несколькими процессорами. Дополнительные сведения см. в EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING режиме ведения журнала. По умолчанию трассировка событий Windows использует буферы для каждого процессора.
  • Возможность записи трассировки стека для событий. Чтобы включить трассировку стека для событий ядра, см. функцию TraceSetInformation . Чтобы включить трассировку стека для событий пользователя, см. флаг EVENT_ENABLE_PROPERTY_STACK_TRACE для элемента EnablePropertyENABLE_TRACE_PARAMETERS.
  • Возможность указывать режим EVENT_TRACE_BUFFERING_MODE или EVENT_TRACE_FILE_MODE_NEWFILE с помощью режима ведения журнала EVENT_TRACE_PRIVATE_LOGGER_MODE (см. раздел Константы режима ведения журнала).
  • Возможность синхронного включения поставщика. По умолчанию поставщики включены асинхронно. Чтобы включить поставщик синхронно, задайте параметр Timeoutпараметра EnableTraceEx2.
  • Возможность контроллера запрашивать, чтобы поставщик регистрирует свое состояние. Дополнительные сведения см. в разделе флаг EVENT_CONTROL_CODE_CAPTURE_STATE для параметра ControlCodeобъекта EnableTraceEx2.
  • Возможность для потребителей форматировать данные событий с помощью функции TdhFormatProperty .
  • Возможность декодировать манифестированные события на компьютерах, не содержащих поставщика. Дополнительные сведения см. в разделе Функция TdhLoadManifest .

В этом выпуске были добавлены следующие функции:

В этом выпуске были добавлены следующие структуры:

В этом выпуске были добавлены следующие перечисления:

В этом выпуске были добавлены следующие классы MOF: