Provedores do sistema
A partir Windows 10 build 20348 do SDK, os eventos do Provedor de Rastreamento do Sistema podem ser habilitados da mesma forma que outros provedores ETW, com EnableTraceEx2. Os diferentes sinalizadores e máscaras de grupo associados ao Provedor de Rastreamento do Sistema foram mapeados para novos provedores de rastreamento, chamados provedores de sistema e palavras-chave correspondentes.
Como habilitar o Provedor de Rastreamento do Sistema diretamente, os Provedores de Sistema só podem ser habilitados por uma sessão com o conjunto de EVENT_TRACE_SYSTEM_LOGGER_MODE .
Referência do Provedor de Sistema
- Provedor ALPC do sistema
- Provedor de Configuração do Sistema
- Provedor de CPU do sistema
- Provedor de Hipervisor do Sistema
- Provedor de Interrupção do Sistema
- Provedor de E/S do Sistema
- Provedor de Filtro de E/S do Sistema
- Provedor de Bloqueio do Sistema
- Provedor de Memória do Sistema
- Provedor de Objetos do Sistema
- Provedor de Energia do Sistema
- Provedor de Processo do Sistema
- Provedor de Perfil do Sistema
- Provedor de Registro do Sistema
- Provedor de Agendador do Sistema
- Provedor de Syscall do Sistema
- Provedor de Temporizador do Sistema
Provedor ALPC do sistema
Fornece eventos relacionados ao sistema ALPC.
GUID: SystemAlpcProviderGuid {fcb9baaf-e529-4980-92e9-ced1a6aadfdf}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_ALPC_KW_GENERAL | PERF_ALPC, EVENT_TRACE_FLAG_ALPC |
Provedor de Configuração do Sistema
Fornece eventos de configuração do sistema.
GUID: SystemConfigProviderGuid {fef3a8b6-318d-4b67-a96a-3b0f6b8f18fe}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
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 |
Provedor de CPU do sistema
Fornece eventos relacionados à CPU.
GUID: SystemCpuProviderGuid {c6c5265f-eae8-4650-aae4-9d48603d8510}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_CPU_KW_CONFIG | PERF_CPU_CONFIG |
SYSTEM_CPU_KW_CACHE_FLUSH | PERF_CACHE_FLUSH |
SYSTEM_CPU_KW_SPEC_CONTROL | PERF_SPEC_CONTROL |
Provedor de Hipervisor do Sistema
Fornece eventos relacionados ao hipervisor.
GUID: SystemHypervisorProviderGuid {bafa072a-918a-4bed-b622-bc152097098f}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_HYPERVISOR_KW_PROFILE | PERF_HV_PROFILE |
SYSTEM_HYPERVISOR_KW_CALLOUTS | PERF_HV_CALLOUTS |
SYSTEM_HYPERVISOR_KW_VTL_CHANGE | PERF_VTL_CHANGE |
Provedor de Interrupção do Sistema
Fornece eventos relacionados a DPCs e interrupções.
GUID: SystemInterruptProviderGuid {d4bbee17-b545-4888-858b-744169015b25}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
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 |
Provedor de E/S do Sistema
Fornece eventos relacionados a vários tipos de E/S, incluindo disco, cache e rede.
GUID: SystemIoProviderGuid {3d5c43e3-0f1c-4202-b817-174c0070dc79}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
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 |
Observação: habilitar o SYSTEM_IO_KW_DRIVERS palavra-chave também habilitará automaticamente SYSTEM_IO_KW_FILENAME. O SYSTEM_IO_KW_FILENAME também é ativado automaticamente quando o Provedor de Memória do Sistema está habilitado com o SYSTEM_MEMORY_KW_MEMORY palavra-chave.
Provedor de Filtro de E/S do Sistema
Fornece eventos relacionados à filtragem de E/S, incluindo tempo e falhas.
GUID: SystemIoFilterProviderGuid {fbd09363-9e22-4661-b8bf-e7a34b535b8c}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
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 |
Provedor de Bloqueio do Sistema
Fornece eventos relacionados a mecanismos de bloqueio de kernel.
GUID: SystemLockProviderGuid {721ddfd3-dacc-4e1e-b26a-a2cb31d4705a}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_LOCK_KW_SPINLOCK | PERF_SPINLOCK |
SYSTEM_LOCK_KW_SPINLOCK_COUNTERS | PERF_SPINLOCK_CNTRS |
SYSTEM_LOCK_KW_SYNC_OBJECTS | PERF_SYNC_OBJECTS |
Provedor de Memória do Sistema
Fornece eventos relacionados ao gerenciador de memória.
GUID: SystemMemoryProviderGuid {82958ca9-b6cd-47f8-a3a8-03ae85a4bc24}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
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 |
Observações:
Habilitar o SYSTEM_MEMORY_KW_MEMORY palavra-chave também habilitará automaticamente SYSTEM_IO_KW_FILENAME no Provedor de E/S do Sistema.
Os eventos habilitados pelo SYSTEM_MEMORY_KW_POOL dão suporte a um Filtro de Marca de Pool, para gravar seletivamente eventos somente para determinadas marcas de pool. Isso é configurado como um filtro esquematizado no provedor de memória do sistema. O filtro PoolTag é construído da seguinte maneira:
{ EVENT_FILTER_HEADER Header; ULONG PoolTags[ETW_MAX_POOLTAG_FILTER]; }
O EVENT_FILTER_HEADER deve ser inicializado com id definido como SYSTEM_MEMORY_POOL_FILTER_ID e o campo de tamanho definido como o tamanho de Header mais a parte usada da matriz PoolTags.
Cada Marca de Pool é uma cadeia de caracteres de 4 caracteres armazenada como um ULONG no filtro.
Provedor de Objetos do Sistema
Fornece eventos relacionados ao Gerenciador de Objetos.
GUID: SystemObjectProviderGuid {febd7460-3d1d-47eb-af49-c9eeb1e146f2}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_OBJECT_KW_HANDLE | PERF_OB_HANDLE |
SYSTEM_OBJECT_KW_OBJECT | PERF_OB_OBJECT |
Provedor de Energia do Sistema
Fornece eventos relacionados ao estado de energia do sistema.
GUID: SystemPowerProviderGuid {c134884a-32d5-4488-80e5-14ed7abb8269}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
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 |
Provedor de Processo do Sistema
Fornece eventos relacionados ao processo, incluindo informações de tempo de vida, eventos de carregamento de imagem e eventos relacionados ao thread.
GUID: SystemProcessProviderGuid {151f55dc-467d-471f-83b5-5f889d46ff66}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
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 |
Provedor de Perfil do Sistema
Fornece eventos de criação de perfil.
GUID: SystemProfileProviderGuid {bfeb0324-1cee-496f-a409-2ac2b48a6322}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_PROFILE_KW_GENERAL | PERF_PROFILE, EVENT_TRACE_FLAG_PROFILE |
SYSTEM_PROFILE_KW_PMC_PROFILE | PERF_PMC_PROFILE |
Provedor de Registro do Sistema
Fornece eventos relacionados ao registro.
GUID: SystemRegistryProviderGuid {16156bd9-fab4-4cfa-a232-89d1099058e3}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_REGISTRY_KW_GENERAL | PERF_REGISTRY, EVENT_TRACE_FLAG_REGISTRY |
SYSTEM_REGISTRY_KW_HIVE | PERF_REG_HIVE |
SYSTEM_REGISTRY_KW_NOTIFICATION | PERF_REG_NOTIF |
Provedor de Agendador do Sistema
Fornece eventos relacionados ao agendador.
GUID: SystemSchedulerProviderGuid {599a2a76-4d91-4910-9ac7-7d33f2e97a6c}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
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 |
Provedor de Syscall do Sistema
Fornece eventos com informações sobre chamadas do sistema.
GUID: SystemSyscallProviderGuid {434286f7-6f1b-45bb-b37e-95f623046c7c}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_SYSCALL_KW_GENERAL | PERF_SYSCALL, EVENT_TRACE_FLAG_SYSTEMCALL |
Provedor de Temporizador do Sistema
Fornece eventos relacionados a temporizadores no kernel.
GUID: SystemTimerProviderGuid {4f061568-e215-499f-ab2e-eda0ae890a5b}
Palavra-chave | Sinalizadores e grupos herdados correspondentes |
---|---|
SYSTEM_TIMER_KW_GENERAL | PERF_TIMER |
SYSTEM_TIMER_KW_CLOCK_TIMER | PERF_CLOCK_TIMER |
Comentários
Esse novo mecanismo de habilitação é adicional aos métodos pré-existentes para habilitar esses eventos. Qualquer código que costumava funcionar continuará a fazê-lo.
Os eventos gerados pelo Provedor de Rastreamento do Sistema não estão sendo alterados devido a esse novo recurso. Isso significa que os eventos gerados não são marcados como sendo emitidos dos provedores de sistema individuais.
Para obter mais informações sobre o GUID do provedor e as definições de palavra-chave, consulte evntrace.h.