Condividi tramite


Informazioni sulla traccia degli eventi per i driver

Traccia eventi definita

Traccia eventi per Windows (ETW) è un meccanismo efficiente ed efficace per la traccia e la registrazione di eventi generati da applicazioni in modalità utente e driver in modalità kernel. ETW è costituito da tre componenti:

Termine Descrizione

Provider

Applicazioni o componenti che generano strumentazione di traccia eventi.

Controllers

Applicazioni che avviano, arresta e configurano sessioni di traccia eventi.

Consumer

Applicazioni che ricevono sessioni di traccia eventi (in tempo reale) o da un file.

The ETW Kernel-Mode API

L'API (Application Programming Interface) di ETW fornisce un set di funzioni disponibili per i componenti e i driver in modalità kernel. Traccia eventi WMI e Traccia software WPP usano entrambi ETW. Gli sviluppatori di driver possono usare queste funzioni per registrare il driver come provider ETW. I provider ETW possono generare eventi e possono pubblicarli nel registro eventi di Windows o scrivere gli eventi in una sessione ETW, che viene scritta in un file di traccia o recapitata al consumer in tempo reale. Gli eventi sono entità che descrivono occorrenze interessanti all'interno del sistema e sono definite da un set di attributi determinati dai provider ETW.

ETW viene implementato nel sistema operativo Windows e offre agli sviluppatori un set veloce, affidabile e versatile di funzionalità di traccia eventi con un impatto molto piccolo sulle prestazioni. È possibile abilitare o disabilitare dinamicamente la traccia senza riavviare il computer o ricaricare l'applicazione o il driver. A differenza delle istruzioni di debug aggiunte al codice durante lo sviluppo, è possibile usare ETW nel codice di produzione.

Quando usare traccia eventi

Usare l'API in modalità kernel ETW per pubblicare eventi che possono essere usati dalle applicazioni interessate a eventi amministrativi, operativi e analitici, oltre alla traccia dettagliata necessaria durante lo sviluppo. Usare WPP Software Tracing se si è interessati principalmente a raccogliere dati di traccia per scopi di sviluppo e debug.