Niveles y palabras clave ETW de CLR

El seguimiento de eventos para eventos de Windows (ETW) se puede filtrar por categoría y nivel. Las palabras clave ETW de CLR de eventos permiten el filtrado de eventos por categoría; se usan en combinaciones para los proveedores de tiempo de ejecución y de ejecución. Los niveles de evento se identifican mediante marcas.

Palabras clave ETW de CLR

Las palabras clave son marcas que se pueden combinar para generar valores. En la práctica, se usan los valores hexadecimales de las palabras clave en lugar de los nombres de palabra clave al llamar a las utilidades de la línea de comandos.

Las palabras clave se describen en las tablas siguientes:

Palabras clave del entorno de ejecución etw de CLR

En la tabla siguiente se enumeran las palabras clave del entorno de ejecución ETW de CLR, sus valores y para qué se usan.

Nombre de palabra clave en tiempo de ejecución Value propósito
GCKeyword 0x00000001 Habilita la recolección de eventos de recolección de elementos no utilizados.
LoaderKeyword 0x00000008 Habilita la colección de eventos del cargador.
JITKeyword 0x00000010 Habilita la colección de eventos Just-In-Time (JIT).
NGenKeyword 0x00000020 Habilita la colección de eventos para los métodos de imagen nativos (métodos procesados por el generador de imágenes nativas, Ngen.exe); se usa con StartEnumerationKeyword y EndEnumerationKeyword. Esta palabra clave tiene una sobrecarga alta. Genera eventos para cada método dentro de cada módulo NGen cargado. Siempre que sea posible, en lugar de usar esta palabra clave, se recomienda usar las bases de datos de programa (PDB) generadas por las herramientas de generación de perfiles para recuperar información sobre los métodos de los módulos NGen. Consulte también OverrideAndSuppressNGenEventsKeyword más adelante en esta tabla.
StartEnumerationKeyword 0x00000040 Habilita la enumeración de todos los métodos en tiempo de ejecución; se usa junto con NGenKeyword.
EndEnumerationKeyword 0x00000080 Habilita la enumeración de todos los métodos destruidos en tiempo de ejecución; se usa junto con JITKeyword y NGenKeyword.
SecurityKeyword 0x00000400 Habilita la colección de eventos de seguridad.
AppDomainResourceManagementKeyword 0x00000800 Habilita la recopilación de eventos de supervisión de recursos en un nivel de dominio de aplicación.
JITTracingKeyword 0x00001000 Habilita la colección de eventos de seguimiento JIT.
InteropKeyword 0x00002000 Habilita la colección de eventos de interoperabilidad.
ContentionKeyword 0x00004000 Habilita la colección de eventos de contención.
ExceptionKeyword 0x00008000 Habilita la colección de eventos de excepción.
ThreadingKeyword 0x00010000 Habilita la colección de eventos del grupo de subprocesos.
OverrideAndSuppressNGenEventsKeyword 0x00040000 (Disponible en .NET Framework 4.5 y versiones posteriores). Suprime la palabra clave de alta sobrecarga NGenKeyword y evita la generación de eventos para los métodos que están dentro de los módulos NGen. Las herramientas de generación de perfiles deben usar OverrideAndSuppressNGenEventsKeyword y NGenKeyword conjuntamente para suprimir la generación de eventos para los métodos de los módulos NGen. Esto permite que la herramienta de generación de perfiles use los ARCHIVOS PDB de NGen más eficaces para obtener información sobre los métodos de los módulos NGen. ClR en .NET Framework 4 y versiones anteriores no admite la creación de archivos PDB de NGen. En estas versiones anteriores, CLR no reconoce OverrideAndSuppressNGenEventsKeyword ni procesa NGenKeyword para generar eventos para los métodos de los módulos NGen.
PerfTrackKeyWord 0x2000000 Habilita la colección de los ModuleLoad eventos y ModuleRange .
StackKeyword 0x40000000 Habilita la colección de eventos de seguimiento de pila clR.

Palabras clave de rundown etw de CLR

En la tabla siguiente se enumeran las palabras clave de la lista desplegable ETW de CLR, sus valores y para qué se usan.

Nombre de palabra clave rundown Value propósito
LoaderRundownKeyword 0x00000008 Habilita la colección de eventos del cargador cuando se usa con StartRundownKeyword y EndRundownKeyword.
JitRundownKeyword 0x00000010 Habilita la colección de eventos y DCEnd métodos DCStart para los métodos compilados por JIT cuando se usa con StartRundownKeyword y EndRundownKeyword.
NGenRundownKeyword 0x00000020 Habilita la colección de eventos y DCEnd métodos DCStart para los métodos de imagen nativa de NGen cuando se usa con StartRundownKeyword y EndRundownKeyword. Esta palabra clave tiene una sobrecarga alta. Genera eventos para cada método dentro de cada módulo NGen cargado. Siempre que sea posible, en lugar de usar esta palabra clave, se recomienda usar las bases de datos de programa (PDB) generadas por las herramientas de generación de perfiles para recuperar información sobre los métodos de los módulos NGen. Consulte también OverrideAndSuppressNGenEventsRundownKeyword más adelante en esta tabla.
StartRundownKeyword 0x00000040 Habilita la enumeración del estado del sistema durante una ejecución de inicio.
EndRundownKeyword 0x00000100 Habilita la enumeración del estado del sistema durante una ejecución final.
AppDomainResourceManagementRundownKeyword 0x00000800 Habilita la colección de eventos para la supervisión de recursos en un AppDomain nivel cuando se usa con StartRundownKeyword o EndRundownKeyword.
ThreadingKeyword 0x00010000 Habilita la colección de eventos del grupo de subprocesos.
OverrideAndSuppressNGenEventsRundownKeyword 0x00040000 (Disponible en .NET Framework 4.5 y versiones posteriores). Suprime la palabra clave de alta sobrecarga NGenRundownKeyword y evita la generación de eventos para los métodos que están dentro de los módulos NGen. Las herramientas de generación de perfiles deben usar OverrideAndSuppressNGenEventsRundownKeyword y NGenRundownKeyword conjuntamente para suprimir la generación de eventos para los métodos de los módulos NGen. Esto permite que la herramienta de generación de perfiles use los ARCHIVOS PDB de NGen más eficaces para obtener información sobre los métodos de los módulos NGen. ClR en .NET Framework 4 y versiones anteriores no admite la creación de archivos PDB de NGen. En estas versiones anteriores, CLR no reconoce OverrideAndSuppressNGenEventsRundownKeyword ni procesa NGenRundownKeyword para generar eventos para los métodos de los módulos NGen.
PerfTrackKeyWord 0x2000000 Habilita la colección de eventos ModuleDCStart, ModuleDCEnd, ModuleRangeDCStarty ModuleRangeDCEnd .

Combinaciones de palabras clave para la resolución de símbolos para el proveedor en tiempo de ejecución

Palabras clave y marcas Dominio de aplicación, ensamblado, eventos de carga o descarga de módulos Eventos de carga/descarga de métodos (excepto eventos dinámicos) Eventos de carga o destrucción del método dinámico
LoaderKeyword Cargar y descargar eventos. Ninguna. Ninguna.
JITKeyword

(+ StartEnumerationKeyword no agrega nada)
Ninguna. Eventos de carga. Cargar y descargar eventos.
JITKeyword +

EndEnumerationKeyword
Ninguna. Cargar y descargar eventos. Cargar y descargar eventos.
NGenKeyword Ninguna. Ninguna. No es aplicable.
NGenKeyword +

StartEnumerationKeyword
Ninguna. Eventos de carga. No es aplicable.
NGenKeyword +

EndEnumerationKeyword
Ninguna. Descarga de eventos. No es aplicable.

Combinaciones de palabras clave para la resolución de símbolos para el proveedor de rundown

Palabras clave y marcas Eventos dcStart/DCEnd del dominio de aplicación, ensamblado y módulo Eventos DCStart/DCEnd del método (incluidos los eventos de método dinámico)
LoaderRundownKeyword +

StartRundownKeyword
DCStart eventos. Ninguna.
LoaderRundownKeyword +

EndRundownKeyword
DCEnd eventos. Ninguna.
JITKeyword +

StartRundownKeyword
Ninguna. DCStart eventos.
JITKeyword +

EndRundownKeyword
Ninguna. DCEnd eventos.
NGenKeyword +

StartRundownKeyword
Ninguna. DCStart eventos.
NGenKeyword +

EndRundownKeyword
Ninguna. DCEnd eventos.

Niveles de eventos ETW

Los eventos ETW también se pueden filtrar por nivel. Si el nivel se establece en 0x5, se generan eventos de todos los niveles, incluidos los 0x5 y los siguientes (que son eventos que pertenecen a categorías habilitadas a través de palabras clave). Si el nivel se establece en 0x2, solo se generan eventos que pertenecen al nivel 0x2 y a continuación.

Los niveles tienen los siguientes significados:

0x5: detallado

0x4: informativo

0x3: advertencia

0x2: error

0x1: crítico

0x0: LogAlways

Véase también