Поделиться через


Поставщики систем

Начиная с Windows 10 сборки пакета SDK 20348 события поставщика трассировки системы можно включить так же, как и другие поставщики трассировки событий Windows с помощью EnableTraceEx2. Различные флаги и маски групп , связанные с поставщиком трассировки системы, были сопоставлены с новыми поставщиками трассировки, называемыми системными поставщиками, и соответствующими ключевыми словами.

Как и включение поставщика трассировки системы напрямую, системные поставщики могут быть включены только сеансом с набором EVENT_TRACE_SYSTEM_LOGGER_MODE .

Справочник по системным поставщикам

Системный поставщик ALPC

Предоставляет события, связанные с системой ALPC.

GUID: SystemAlpcProviderGuid {fcb9baaf-e529-4980-92e9-ced1a6aadfdf}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_ALPC_KW_GENERAL PERF_ALPC, EVENT_TRACE_FLAG_ALPC

Поставщик конфигурации системы

Предоставляет события конфигурации системы.

GUID: SystemConfigProviderGuid {fef3a8b6-318d-4b67-a96a-3b0f6b8f18fe}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_CONFIG_KW_SYSTEM PERF_SYSCFG_SYSTEM
SYSTEM_CONFIG_KW_GRAPHICS PERF_SYSCFG_GRAPHICS
SYSTEM_CONFIG_KW_STORAGE PERF_SYSCFG_STORAGE
SYSTEM_CONFIG_KW_NETWORK PERF_SYSCFG_NETWORK
SYSTEM_CONFIG_KW_SERVICES PERF_SYSCFG_SERVICES
SYSTEM_CONFIG_KW_PNP PERF_SYSCFG_PNP
SYSTEM_CONFIG_KW_OPTICAL PERF_SYSCFG_OPTICAL

Поставщик ЦП системы

Предоставляет события, связанные с ЦП.

GUID: SystemCpuProviderGuid {c6c5265f-eae8-4650-aae4-9d48603d8510}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_CPU_KW_CONFIG PERF_CPU_CONFIG
SYSTEM_CPU_KW_CACHE_FLUSH PERF_CACHE_FLUSH
SYSTEM_CPU_KW_SPEC_CONTROL PERF_SPEC_CONTROL

Поставщик системных гипервизоров

Предоставляет события, связанные с низкоуровневой оболочкой.

GUID: SystemHypervisorProviderGuid {bafa072a-918a-4bed-b622-bc152097098f}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_HYPERVISOR_KW_PROFILE PERF_HV_PROFILE
SYSTEM_HYPERVISOR_KW_CALLOUTS PERF_HV_CALLOUTS
SYSTEM_HYPERVISOR_KW_VTL_CHANGE PERF_VTL_CHANGE

Поставщик системных прерываний

Предоставляет события, связанные с DPC и прерываниями.

GUID: SystemInterruptProviderGuid {d4bbee17-b545-4888-858b-744169015b25}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_INTERRUPT_KW_GENERAL PERF_INTERRUPT, EVENT_TRACE_FLAG_INTERRUPT
SYSTEM_INTERRUPT_KW_CLOCK_INTERRUPT PERF_CLOCK_INTERRUPT
SYSTEM_INTERRUPT_KW_DPC PERF_DPC, EVENT_TRACE_FLAG_DPC
SYSTEM_INTERRUPT_KW_DPC_QUEUE PERF_DPC_QUEUE
SYSTEM_INTERRUPT_KW_WDF_DPC PERF_WDF_DPC
SYSTEM_INTERRUPT_KW_WDF_INTERRUPT PERF_WDF_INTERRUPT
SYSTEM_INTERRUPT_KW_IPI PERF_IPI

Поставщик системных операций ввода-вывода

Предоставляет события, относящиеся к нескольким типам операций ввода-вывода, включая диск, кэш и сеть.

GUID: SystemIoProviderGuid {3d5c43e3-0f1c-4202-b817-174c0070dc79}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_IO_KW_DISK EVENT_TRACE_FLAG_DISK_IO
SYSTEM_IO_KW_DISK_INIT PERF_DISK_IO_INIT, EVENT_TRACE_FLAG_DISK_IO_INIT
SYSTEM_IO_KW_FILENAME PERF_FILENAME, EVENT_TRACE_FLAG_DISK_FILE_IO
SYSTEM_IO_KW_SPLIT PERF_SPLIT_IO, EVENT_TRACE_FLAG_SPLIT_IO
SYSTEM_IO_KW_FILE PERF_FILE_IO, EVENT_TRACE_FLAG_FILE_IO
SYSTEM_IO_KW_OPTICAL PERF_OPTICAL_IO, EVENT_TRACE_FLAG_FILE_IO_INIT
SYSTEM_IO_KW_OPTICAL_INIT PERF_OPTICAL_IO_INIT
SYSTEM_IO_KW_DRIVERS PERF_DRIVERS, EVENT_TRACE_FLAG_DRIVER
SYSTEM_IO_KW_CC PERF_CC
SYSTEM_IO_KW_NETWORK PERF_NETWORK, EVENT_TRACE_FLAG_NETWORK_TCPIP

Примечание. Включение SYSTEM_IO_KW_DRIVERS ключевое слово также автоматически включает SYSTEM_IO_KW_FILENAME. SYSTEM_IO_KW_FILENAME также включается автоматически, если поставщик системной памяти включен с помощью SYSTEM_MEMORY_KW_MEMORY ключевое слово.

Поставщик фильтра системных операций ввода-вывода

Предоставляет события, связанные с фильтрацией операций ввода-вывода, включая время и сбои.

GUID: SystemIoFilterProviderGuid {fbd09363-9e22-4661-b8bf-e7a34b535b8c}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_IOFILTER_KW_GENERAL PERF_FLT_IO
SYSTEM_IOFILTER_KW_INIT PERF_FLT_IO_INIT
SYSTEM_IOFILTER_KW_FASTIO PERF_FLT_FASTIO
SYSTEM_IOFILTER_KW_FAILURE PERF_FLT_IO_FAILURE

Поставщик блокировки системы

Предоставляет события, связанные с механизмами блокировки ядра.

GUID: SystemLockProviderGuid {721ddfd3-dacc-4e1e-b26a-a2cb31d4705a}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_LOCK_KW_SPINLOCK PERF_SPINLOCK
SYSTEM_LOCK_KW_SPINLOCK_COUNTERS PERF_SPINLOCK_CNTRS
SYSTEM_LOCK_KW_SYNC_OBJECTS PERF_SYNC_OBJECTS

Поставщик системной памяти

Предоставляет события, связанные с диспетчером памяти.

GUID: SystemMemoryProviderGuid {82958ca9-b6cd-47f8-a3a8-03ae85a4bc24}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_MEMORY_KW_GENERAL PERF_MEMORY
SYSTEM_MEMORY_KW_HARD_FAULTS PERF_HARD_FAULTS, EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS
SYSTEM_MEMORY_KW_ALL_FAULTS PERF_ALL_FAULTS, EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS
SYSTEM_MEMORY_KW_POOL PERF_POOL
SYSTEM_MEMORY_KW_MEMINFO PERF_MEMINFO
SYSTEM_MEMORY_KW_PFSECTION PERF_PFSECTION
SYSTEM_MEMORY_KW_MEMINFO_WS PERF_MEMINFO_WS
SYSTEM_MEMORY_KW_HEAP PERF_HEAP
SYSTEM_MEMORY_KW_WS PERF_WS
SYSTEM_MEMORY_KW_CONTMEM_GEN PERF_CONTMEM_GEN
SYSTEM_MEMORY_KW_VIRTUAL_ALLOC PERF_VIRTUAL_ALLOC, EVENT_TRACE_FLAG_VIRTUAL_ALLOC
SYSTEM_MEMORY_KW_FOOTPRINT PERF_FOOTPRINT
SYSTEM_MEMORY_KW_SESSION PERF_SESSION
SYSTEM_MEMORY_KW_REFSET PERF_REFSET
SYSTEM_MEMORY_KW_VAMAP PERF_VAMAP, EVENT_TRACE_FLAG_VAMAP

Примечания.

  • Включение SYSTEM_MEMORY_KW_MEMORY ключевое слово также автоматически включает SYSTEM_IO_KW_FILENAME в поставщике системных операций ввода-вывода.

  • События, включенные SYSTEM_MEMORY_KW_POOL поддерживают фильтр тегов пула, чтобы выборочно записывать события только для определенных тегов пула. Он настроен как схематизированный фильтр в поставщике системной памяти. Фильтр PoolTag создается следующим образом:

    {
    EVENT_FILTER_HEADER Header; 
    ULONG PoolTags[ETW_MAX_POOLTAG_FILTER];
    }
    
  • EVENT_FILTER_HEADER следует инициализировать с идентификатором, равным SYSTEM_MEMORY_POOL_FILTER_ID, а для поля размера — размер заголовка и используемой части массива PoolTags.

  • Каждый тег пула — это строка из 4 символов, которая хранится в фильтре как ULONG.

Поставщик системных объектов

Предоставляет события, связанные с диспетчером объектов.

GUID: SystemObjectProviderGuid {febd7460-3d1d-47eb-af49-c9eeb1e146f2}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_OBJECT_KW_HANDLE PERF_OB_HANDLE
SYSTEM_OBJECT_KW_OBJECT PERF_OB_OBJECT

Поставщик питания системы

Предоставляет события, связанные с состоянием питания системы.

GUID: SystemPowerProviderGuid {c134884a-32d5-4488-80e5-14ed7abb8269}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_POWER_KW_GENERAL PERF_POWER
SYSTEM_POWER_KW_HIBER_RUNDOWN PERF_HIBER_RUNDOWN
SYSTEM_POWER_KW_PROCESSOR_IDLE PERF_PROCESSOR_IDLE
SYSTEM_POWER_KW_IDLE_SELECTION PERF_IDLE_SELECTION
SYSTEM_POWER_KW_PPM_EXIT_LATENCY PERF_PPM_EXIT_LATENCY

Поставщик системных процессов

Предоставляет события, связанные с процессом, включая сведения о времени существования, события загрузки изображений и события, связанные с потоком.

GUID: SystemProcessProviderGuid {151f55dc-467d-471f-83b5-5f889d46ff66}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_PROCESS_KW_GENERAL PERF_PROCESS, EVENT_TRACE_FLAG_PROCESS
SYSTEM_PROCESS_KW_INSWAP PERF_PROCESS_INSWAP
SYSTEM_PROCESS_KW_FREEZE PERF_PROCESS_FREEZE
SYSTEM_PROCESS_KW_PERF_COUNTER PERF_PERF_COUNTER, EVENT_TRACE_FLAG_PROCESS_COUNTERS
SYSTEM_PROCESS_KW_WAKE_COUNTER PERF_WAKE_COUNTER
SYSTEM_PROCESS_KW_WAKE_DROP PERF_WAKE_DROP
SYSTEM_PROCESS_KW_WAKE_EVENT PERF_WAKE_EVENT
SYSTEM_PROCESS_KW_DEBUG_EVENTS PERF_DEBUG_EVENTS, EVENT_TRACE_FLAG_DEBUG_EVENTS
SYSTEM_PROCESS_KW_DBGPRINT PERF_DBGPRINT, EVENT_TRACE_FLAG_DBGPRINT
SYSTEM_PROCESS_KW_JOB PERF_JOB, EVENT_TRACE_FLAG_JOB
SYSTEM_PROCESS_KW_WORKER_THREAD PERF_WORKER_THREAD
SYSTEM_PROCESS_KW_THREAD PERF_THREAD, EVENT_TRACE_FLAG_THREAD
SYSTEM_PROCESS_KW_LOADER PERF_LOADER, EVENT_TRACE_FLAG_IMAGE_LOAD

Поставщик системных профилей

Предоставляет события профилирования.

GUID: SystemProfileProviderGuid {bfeb0324-1cee-496f-a409-2ac2b48a6322}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_PROFILE_KW_GENERAL PERF_PROFILE, EVENT_TRACE_FLAG_PROFILE
SYSTEM_PROFILE_KW_PMC_PROFILE PERF_PMC_PROFILE

Поставщик системного реестра

Предоставляет события, связанные с реестром.

GUID: SystemRegistryProviderGuid {16156bd9-fab4-4cfa-a232-89d1099058e3}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_REGISTRY_KW_GENERAL PERF_REGISTRY, EVENT_TRACE_FLAG_REGISTRY
SYSTEM_REGISTRY_KW_HIVE PERF_REG_HIVE
SYSTEM_REGISTRY_KW_NOTIFICATION PERF_REG_NOTIF

Поставщик планировщика системы

Предоставляет события, связанные с планировщиком.

GUID: SystemSchedulerProviderGuid {599a2a76-4d91-4910-9ac7-7d33f2e97a6c}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_SCHEDULER_KW_XSCHEDULER PERF_XSCHEDULER
SYSTEM_SCHEDULER_KW_DISPATCHER PERF_DISPATCHER, EVENT_TRACE_FLAG_DISPATCHER
SYSTEM_SCHEDULER_KW_KERNEL_QUEUE PERF_KERNEL_QUEUE
SYSTEM_SCHEDULER_KW_SHOULD_YIELD PERF_SHOULD_YIELD
SYSTEM_SCHEDULER_KW_ANTI_STARVATION PERF_ANTI_STARVATION
SYSTEM_SCHEDULER_KW_LOAD_BALANCER PERF_LOAD_BALANCER
SYSTEM_SCHEDULER_KW_AFFINITY PERF_AFFINITY
SYSTEM_SCHEDULER_KW_PRIORITY PERF_PRIORITY
SYSTEM_SCHEDULER_KW_IDEAL_PROCESSOR PERF_IDEAL_PROCESSOR
SYSTEM_SCHEDULER_KW_CONTEXT_SWITCH PERF_CONTEXT_SWITCH, EVENT_TRACE_FLAG_CSWITCH

Системный поставщик syscall

Предоставляет событиям сведения о системных вызовах.

GUID: SystemSyscallProviderGuid {434286f7-6f1b-45bb-b37e-95f623046c7c}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_SYSCALL_KW_GENERAL PERF_SYSCALL, EVENT_TRACE_FLAG_SYSTEMCALL

Поставщик системного таймера

Предоставляет события, связанные с таймерами в ядре.

GUID: SystemTimerProviderGuid {4f061568-e215-499f-ab2e-eda0ae890a5b}

Ключевое слово Соответствующие устаревшие флаги и группы
SYSTEM_TIMER_KW_GENERAL PERF_TIMER
SYSTEM_TIMER_KW_CLOCK_TIMER PERF_CLOCK_TIMER

Комментарии

Этот новый механизм включения дополняет уже существующие методы для включения этих событий. Любой код, который раньше работал, будет продолжать делать это.

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

Дополнительные сведения о GUID поставщика и определениях ключевое слово см. в разделе evntrace.h.

См. также:

Настройка и запуск сеанса SystemTraceProvider

Заголовок evntrace.h