Palabras clave y niveles ETW de CLR

El Seguimiento de eventos para Windows (ETW) se puede filtrar por categoría y nivel. Las Palabras clave ETW de CLR de evento permiten el filtrado de eventos por categoría; se usan en combinaciones para los proveedores de tiempo de ejecución y detenció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, cuando se llama a las utilidades de línea de comandos, se usan los valores hexadecimales de las palabras clave en lugar de los nombres de palabra clave.

Las palabras clave se describen en la tabla siguiente.

Palabras clave de runtime de ETW de CLR

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

Nombre de la palabra clave de runtime Value Propósito
GCKeyword 0x00000001 Habilita la recopilación de eventos de recolección de elementos no utilizados.
LoaderKeyword 0x00000008 Habilita la recopilación de eventos de cargador.
JITKeyword 0x00000010 Habilita la recopilación de eventos Just-In-Time (JIT).
NGenKeyword 0x00000020 Habilita la recopilación de eventos para los métodos de imágenes nativas (métodos procesados por el generador de imágenes nativas, Ngen.exe); se usa con StartEnumerationKeyword y EndEnumerationKeyword. Esta palabra clave tiene una gran sobrecarga. Genera eventos para todos los métodos que se encuentran en los módulos cargados de NGen. Siempre que sea posible, en lugar de usar esta palabra clave, le recomendamos que use las bases de datos de programa (PDB) generadas por herramientas de generación de perfiles para recuperar información acerca de los métodos de los módulos NGen. Vea también OverrideAndSuppressNGenEventsKeyword más adelante en esta tabla.
StartEnumerationKeyword 0x00000040 Habilita la enumeración de todos los métodos en runtime; se usa junto con NGenKeyword.
EndEnumerationKeyword 0x00000080 Habilita la enumeración de todos los métodos destruidos en runtime; se usa junto con JITKeyword y NGenKeyword.
SecurityKeyword 0x00000400 Habilita la recopilació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 recopilación de eventos de seguimiento JIT.
InteropKeyword 0x00002000 Habilita la recopilación de eventos de interoperabilidad.
ContentionKeyword 0x00004000 Habilita la recopilación de eventos de contención.
ExceptionKeyword 0x00008000 Habilita la recopilación de eventos de excepción.
ThreadingKeyword 0x00010000 Habilita la recopilación de eventos de grupo de subprocesos.
OverrideAndSuppressNGenEventsKeyword 0x00040000 (Disponible en .NET Framework 4.5 y posteriores) Suprime la palabra clave NGenKeyword de elevada sobrecarga y evita que se generen eventos para los métodos que están dentro de los módulos NGen. A partir de .NET Framework 4.5, las herramientas de generación de perfiles deben usar conjuntamente OverrideAndSuppressNGenEventsKeyword y NGenKeyword a fin de suprimir la generación de eventos para los métodos de módulos NGen. Esto permite que la herramienta de generación de perfiles use de forma más eficaz los archivos PDB de NGen para obtener información sobre los métodos de módulos NGen. En .NET Framework 4 y versiones anteriores, el CLR no admite la creación de archivos PDB de NGen. En estas versiones anteriores, el CLR no reconocerá OverrideAndSuppressNGenEventsKeyword y procesará NGenKeyword para generar eventos para los métodos de módulos NGen.
PerfTrackKeyWord 0x2000000 Habilita la recopilación de eventos ModuleLoad y ModuleRange .
StackKeyword 0x40000000 Habilita la recopilación de eventos de seguimiento de pilade CLR.

Palabras clave de detención de ETW de CLR

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

Nombre de la palabra clave de detención Value Propósito
LoaderRundownKeyword 0x00000008 Habilita la recopilación de eventos de cargador cuando se usa con StartRundownKeyword y EndRundownKeyword.
JitRundownKeyword 0x00000010 Habilita la recopilación de eventos de método DCStart y DCEnd para métodos compilados JIT cuando se usa con StartRundownKeyword y EndRundownKeyword.
NGenRundownKeyword 0x00000020 Habilita la recopilación de eventos de método DCStart y DCEnd para métodos de imágenes nativas de NGen cuando se usa con StartRundownKeyword y EndRundownKeyword. Esta palabra clave tiene una gran sobrecarga. Genera eventos para todos los métodos que se encuentran en los módulos cargados de NGen. Siempre que sea posible, en lugar de usar esta palabra clave, le recomendamos que use las bases de datos de programa (PDB) generadas por herramientas de generación de perfiles para recuperar información acerca de los métodos de los módulos NGen. Vea también OverrideAndSuppressNGenEventsRundownKeyword más adelante en esta tabla.
StartRundownKeyword 0x00000040 Habilita la enumeración del estado del sistema durante una detención de inicio.
EndRundownKeyword 0x00000100 Habilita la enumeración del estado del sistema durante una detención de final.
AppDomainResourceManagementRundownKeyword 0x00000800 Habilita la recopilación de eventos de supervisión de recursos en un nivel de AppDomain cuando se usa con StartRundownKeyword o EndRundownKeyword.
ThreadingKeyword 0x00010000 Habilita la recopilación de eventos de grupo de subprocesos.
OverrideAndSuppressNGenEventsRundownKeyword 0x00040000 (Disponible en .NET Framework 4.5 y posteriores) Suprime la palabra clave NGenRundownKeyword de elevada sobrecarga y evita que se generen eventos para los métodos que están dentro de los módulos NGen. A partir de .NET Framework 4.5, las herramientas de generación de perfiles deben usar conjuntamente OverrideAndSuppressNGenEventsRundownKeyword y NGenRundownKeyword a fin de suprimir la generación de eventos para los métodos de módulos NGen. Esto permite que la herramienta de generación de perfiles use de forma más eficaz los archivos PDB de NGen para obtener información sobre los métodos de módulos NGen. En .NET Framework 4 y versiones anteriores, el CLR no admite la creación de archivos PDB de NGen. En estas versiones anteriores, el CLR no reconocerá OverrideAndSuppressNGenEventsRundownKeyword y procesará NGenRundownKeyword para generar eventos para los métodos de módulos NGen.
PerfTrackKeyWord 0x2000000 Habilita la recopilación de eventos ModuleDCStart, ModuleDCEnd, ModuleRangeDCStarty ModuleRangeDCEnd .

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

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

(+ StartEnumerationKeyword no agrega nada)
Ninguno. Eventos de carga. Eventos de carga y descarga.
JITKeyword +

EndEnumerationKeyword
Ninguno. Eventos de carga y descarga. Eventos de carga y descarga.
NGenKeyword Ninguno. Ninguno. No aplicable.
NGenKeyword +

StartEnumerationKeyword
Ninguno. Eventos de carga. No aplicable.
NGenKeyword +

EndEnumerationKeyword
Ninguno. Eventos de descarga. No aplicable.

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

Palabras clave y marcas Dominio de aplicación, ensamblado, eventos DCStart/DCEnd de módulos Eventos DCStart/DCEnd de método (incluidos los eventos de métodos dinámicos)
LoaderRundownKeyword +

StartRundownKeyword
EventosDCStart . Ninguno.
LoaderRundownKeyword +

EndRundownKeyword
EventosDCEnd . Ninguno.
JITKeyword +

StartRundownKeyword
Ninguno. EventosDCStart .
JITKeyword +

EndRundownKeyword
Ninguno. EventosDCEnd .
NGenKeyword +

StartRundownKeyword
Ninguno. EventosDCStart .
NGenKeyword +

EndRundownKeyword
Ninguno. EventosDCEnd .

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 0 x 5 e inferiores (que son eventos que pertenecen a las categorías habilitadas mediante palabras clave). Si el nivel se establece en 0x2, tan solo se producen los eventos que pertenecen al nivel 0x2 e inferiores.

Los niveles tienen los significados siguientes:

0x5: Verbose

0x4: Informativo

0x3: Advertencia

0x2: Error

0x1: Crítico

0x0: LogAlways

Consulte también