Compartir vía


Sesión de seguimiento del registrador global

Una sesión de seguimiento del registrador global registra eventos que se producen durante el proceso de arranque antes de que el sistema esté totalmente operativo, como los eventos generados por los controladores de dispositivo. Se trata de una sesión de seguimiento reservada integrada en Windows.

Las sesiones de seguimiento del registrador global siempre escriben mensajes en un registro de seguimiento. Global Logger no admite sesiones de seguimiento en tiempo real ni sesiones de seguimiento almacenadas en búfer.

Dado que el registrador global debe estar disponible al principio del proceso de arranque del sistema operativo, se inicia y configura mediante entradas del Registro (en la subclave HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger ), en lugar de llamadas de función. Después de iniciarse, el registrador global se comporta como una sesión de seguimiento de eventos normal.

La sesión de seguimiento del registrador global usa un nombre de sesión reservado, "GlobalLogger". El GUID de control se representa mediante la constante GlobalLoggerGuid. Cree una sesión de seguimiento del registrador global y, a continuación, reinicie el equipo para iniciar la sesión de seguimiento. Solo se puede ejecutar una sesión de seguimiento del registrador global en el equipo a la vez.

Para crear una sesión de seguimiento del registrador global, use Tracelog. Crea automáticamente la subclave del Registro y las entradas que almacenan las opciones de sesión de seguimiento. La sesión de seguimiento del registrador global se inicia al reiniciar el equipo. Para obtener más información, vea Sintaxis del comando tracelog.

Para dar formato a los mensajes de seguimiento desde una sesión de seguimiento del registrador global, use Tracefmt con system.tmf, un archivo de formato de mensaje de seguimiento incluido en el WDK.

Dado que las entradas del Registro desencadenan la sesión del registrador global, se ejecuta cada vez que las entradas aparecen en el registro. Para evitar que la sesión del registrador global se inicie cada vez que se inicie el sistema, establezca el valor de la entrada Start en 0 o elimine todas las entradas del Registro.

Puede convertir una sesión de seguimiento del registrador global en una sesión de seguimiento del registrador de kernel de NT y, por tanto, realizar un seguimiento del kernel durante el proceso de arranque. Para obtener información, consulte Sesión de registrador global en tiempo de arranque.

Los proveedores de seguimiento, como los controladores en modo kernel y las aplicaciones en modo de usuario, pueden iniciar sesión en la sesión de seguimiento del registrador global. Esto le permite realizar un seguimiento de un controlador u otro proveedor de seguimiento durante el arranque del sistema. Para obtener información, consulte Registro en la sesión del registrador global.

Limitaciones de la sesión de seguimiento del registrador global

La sesión de seguimiento del registrador global es muy útil, pero es importante tener en cuenta sus limitaciones:

Solo puede ejecutar una sesión de registrador global a la vez.

La sesión del registrador global no envía notificaciones a proveedores.

Las entradas del Registro registrador global permanecen en el registro y son efectivas hasta que restablezca o elimine manualmente, o use el comando tracelog -remove . Hasta que los restablezca, la sesión del registrador global se inicia cada vez que inicie el sistema.

El registrador ACPI de Windows está habilitado permanentemente para la sesión de seguimiento del registrador global. Los mensajes de seguimiento de este registrador aparecen en el registro de seguimiento.

Si se inicia una sesión de seguimiento estándar mientras un controlador inicia sesión en la sesión del registrador global, el controlador cambia e inicia el registro en la sesión de seguimiento estándar.

Entradas del Registro de registrador global

En la tabla siguiente se muestran las entradas del Registro que configuran la sesión del registrador global. Estas entradas están en la subclave HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger . Solo se requiere la entrada Inicio .

Además de las entradas del Registro de esta tabla, también puede agregar una subclave ControlGUID en la subclave GlobalLogger para representar un proveedor de seguimiento, como un controlador, que registra en la sesión de seguimiento del registrador global. Para obtener información, consulte Registro en la sesión global del registrador.

Entrada Tipo de datos Descripción

Iniciar

REG_DWORD

Cuando se establece en 1 (activado), la sesión del registrador global se inicia la próxima vez que se inicie el sistema.

0 = desactivado, 1=on

BufferSize

REG_DWORD

Especifica el tamaño de cada búfer (en KB). El valor predeterminado es 0x40 (64 KB).

ClockType

REG_DWORD

Especifica el temporizador utilizado para las marcas de tiempo del mensaje de seguimiento.

A partir de Windows Vista, el valor predeterminado es 1. En los sistemas operativos anteriores a Windows Vista, el valor predeterminado es 2.

1 = Valor del contador de rendimiento (alta resolución)

2 = Temporizador del sistema

3 = reloj del ciclo de CPU

EnableKernelFlags

REG_BINARY

Convierte la sesión del registrador global en una sesión de seguimiento del registrador de kernel nt y especifica los eventos incluidos en el seguimiento del kernel.

Para obtener información, consulte Sesión de registrador global en tiempo de arranque.

FileCounter

REG_DWORD

Almacena el número de archivos de registro de seguimiento de eventos generados por las sesiones del registrador global.

El sistema incrementa este valor hasta que alcanza el valor de FileMax. A continuación, restablece el valor en 0.

Este contador impide que el sistema sobrescriba un archivo de registro de seguimiento del registrador global.

FileMax

REG_DWORD

Especifica el número máximo de archivos de registro de seguimiento de eventos permitidos en el sistema.

Cuando el número de registros de seguimiento alcanza el máximo especificado, el sistema comienza a sobrescribir los registros, empezando por el más antiguo.

El valor predeterminado es 0, lo que significa que no hay ningún máximo.

FileName

REG_SZ

Ruta de acceso (opcional) y nombre de archivo del archivo de registro de seguimiento de eventos. El valor predeterminado es %SystemRoot%\System32\LogFiles\WMI\trace.log.

FlushTimer

REG_DWORD

Especifica con qué frecuencia (en segundos) se vacían forzosamente los búferes de seguimiento. Este vaciado forzado se suma al vaciado automático que se produce cada vez que un búfer está lleno y cuando se detiene la sesión de seguimiento.

El valor predeterminado es 0. De forma predeterminada, los búferes solo se vacían cuando están llenos.

El tiempo de vaciado mínimo es de 1 segundo.

LogFileMode

REG_DWORD

Especifica las opciones de sesión de registro.

Solo se admite en Windows Vista y versiones posteriores de Windows.

MaximumBuffers

REG_DWORD

Especifica el número máximo de búferes que se pueden asignar para la sesión. El valor predeterminado es 0x19 (25).

MaximumFileSize

REG_DWORD

Especifica el tamaño máximo del archivo de registro de seguimiento de eventos. De manera predeterminada, no hay un tamaño máximo de archivo.

MinimumBuffers

REG_DWORD

Especifica el número de búferes asignados cuando se inicia la sesión. El valor predeterminado es 0x3.

Estado

REG_DWORD

Almacena el código de retorno del intento de iniciar una sesión de seguimiento del registrador global.

Si no se pudo iniciar la sesión, el valor de esta entrada es un código de error win32. Si se inicia la sesión, el valor de esta entrada es ERROR_SUCCESS.

Estas entradas del Registro que cree permanecen en el Registro y son efectivas hasta que las elimine o cambie sus valores. Por lo tanto, una vez ejecutada la sesión de registrador global, use el comando tracelog -remove GlobalLogger para establecer el valor de la entrada Start en 0 y eliminar las demás entradas del Registro del registrador global. De lo contrario, la sesión del registrador global se ejecuta cada vez que reinicia el equipo y el archivo de registro resultante puede crecer muy grande.

Constantes del modo de registro

En la tabla siguiente se muestran los valores válidos para la entrada del Registro LogFileMode en la subclave HKLM\System\CurrentControlSet\Control\WMI\GlobalLogger . Esta entrada se usa para establecer opciones para una sesión de seguimiento del registrador global, incluidas las de sesiones de seguimiento en tiempo real, sesiones de seguimiento privadas, registro circular y almacenamiento en búfer (sin registro). Esta entrada del Registro solo se admite en Windows Vista y versiones posteriores de Windows.

Esta entrada del Registro corresponde al miembro LogFileMode de la estructura EVENT_TRACE_PROPERTIES. Sus valores corresponden a las constantes del modo de registro. La estructura de EVENT_TRACE_PROPERTIES y las constantes de modo de registro se describen en la documentación de Microsoft Windows SDK.

Esta tabla se muestra aquí para mostrar los valores hexadecimales de las constantes. Use estos valores o una suma de estos valores para representar la constante en la entrada del Registro LogFileMode .

Valor Constante Descripción

0x0

EVENT_TRACE_FILE_MODE_NONE

No se crean archivos de registro de seguimiento de eventos.

0x1

EVENT_TRACE_FILE_MODE_SEQUENTIAL

Los archivos de registro de seguimiento de eventos son secuenciales.

0x2

EVENT_TRACE_FILE_MODE_CIRCULAR

Los archivos de registro de seguimiento de eventos son circulares.

0x4

EVENT_TRACE_FILE_MODE_APPEND

Anexar mensajes de seguimiento a un archivo de registro existente. Este modo solo es válido con archivos secuenciales.

0x8

EVENT_TRACE_FILE_MODE_NEWFILE

Cree un nuevo archivo de registro de seguimiento de eventos cada vez que el archivo existente alcance el valor de la entrada MaximumFileSize (consulte la tabla anterior).

0x20

EVENT_TRACE_FILE_MODE_PREALLOCATE

Reserva espacio para el archivo de registro de seguimiento de eventos.

Válido solo con EVENT_TRACE_FILE_MODE_SEQUENTIAL o EVENT_TRACE_FILE_MODE_CIRCULAR y no válido con EVENT_TRACE_FILE_MODE_NEWFILE.

0x40

EVENT_TRACE_NONSTOPPABLE_MODE

Una llamada a StopTrace no detiene la sesión de seguimiento.

Esta característica impide que los usuarios detengan las sesiones de seguimiento que el sistema requiere para el diagnóstico y la optimización.

0x100

EVENT_TRACE_REAL_TIME_MODE

Especifica una sesión de seguimiento en tiempo real.

0x200

EVENT_TRACE_DELAY_OPEN_FILE_MODE

Solo para uso interno.

0x400

EVENT_TRACE_BUFFERING_MODE

Los eventos se conservan en los búferes. Nunca se escriben en un archivo de registro ni se entregan a un consumidor de seguimiento.

0x800

EVENT_TRACE_PRIVATE_LOGGER_MODE

Especifica una sesión de seguimiento privada. Esta marca no es válida para una sesión de seguimiento del registrador global.

0x1000

EVENT_TRACE_ADD_HEADER_MODE

Solo para uso interno.

0x2000

EVENT_TRACE_USE_KBYTES_FOR_SIZE

Interprete el valor de MaximumFileSize en KB, en lugar de MB.

0x4000

EVENT_TRACE_USE_GLOBAL_SEQUENCE

Genera números de secuencia globales para los mensajes de seguimiento. Estos números son únicos para todas las sesiones de seguimiento del equipo.

De forma predeterminada, los mensajes de seguimiento no tienen ningún número de secuencia.

0x8000

EVENT_TRACE_USE_LOCAL_SEQUENCE

Genera números de secuencia local para los mensajes de seguimiento. Estos números son únicos dentro de la sesión de seguimiento.

De forma predeterminada, los mensajes de seguimiento no tienen ningún número de secuencia.

0x10000

EVENT_TRACE_RELOG_MODE

Solo para uso interno.

0x80000

EVENT_TRACE_KD_FILTER_MODE

Redirige los mensajes de seguimiento al depurador de kernel y establece el tamaño del búfer de seguimiento en 3 KB, el tamaño máximo del búfer para el depurador.

0x1000000

EVENT_TRACE_MODE_RESERVED

No es válido para una sesión de seguimiento del registrador global.

0x01000000

EVENT_TRACE_USE_PAGED_MEMORY

Asigne búferes de sesión de seguimiento de la memoria paginable. De forma predeterminada, los búferes se asignan a partir de memoria no paginable.