Provedores de sistema
A partir do Windows 10 SDK build 20348, os eventos do Provedor de Rastreamento do Sistema podem ser habilitados da mesma forma que outros provedores ETW são, 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 diretamente o Provedor de Rastreamento do Sistema, 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
- do provedor ALPC do sistema
- do 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
- do Provedor de Objetos do Sistema
- provedor de energia do sistema
- provedor de processo do sistema
- provedor de perfil do sistema
- do Provedor de Registro do Sistema
- do Provedor do Agendador de Sistema
- do 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 a palavra-chave SYSTEM_IO_KW_DRIVERS também habilitará SYSTEM_IO_KW_FILENAME automaticamente. O SYSTEM_IO_KW_FILENAME também é ativado automaticamente quando o Provedor de Memória do Sistema está habilitado com a palavra-chave SYSTEM_MEMORY_KW_MEMORY.
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 |
Anotações:
Habilitar a palavra-chave SYSTEM_MEMORY_KW_MEMORY habilitará automaticamente SYSTEM_IO_KW_FILENAME no Provedor de E/S do Sistema também.
Os eventos habilitados pelo SYSTEM_MEMORY_KW_POOL dão suporte a um Filtro de Marca de Pool, para gravar eventos seletivamente apenas para determinadas marcas de pool. Isso é configurado como um de 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 a ID definida como SYSTEM_MEMORY_POOL_FILTER_ID e o campo de tamanho definido como o tamanho do Cabeçalho mais a parte usada da matriz PoolTags.
Cada Marca de Pool é uma cadeia de caracteres de 4 caracteres que é 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 |
Observações
Esse novo mecanismo de habilitação é além dos 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 definições de palavra-chave, consulte evntrace.h.