Compartir a través de


Sesiones

Windows Performance Recorder (WPR) amplía el seguimiento de eventos para Windows (ETW). Una sesión de registro ETW es una colección de búferes en memoria que acepta eventos a través de la interfaz de programación de aplicaciones (API) del proveedor ETW. Normalmente, estos búferes no están paginados y los administra el kernel. ETW asigna un búfer a cada procesador. La generación de eventos y el almacenamiento en búfer de ETW no tienen bloqueo para permitir que ETW registre todo tipo de eventos.

Cada vez que ETW llama al método EventWrite , ETW reserva espacio en el búfer actual que ETW ha asignado al procesador que ejecuta el subproceso que realiza la llamada. A continuación, ETW copia el encabezado de evento y los datos de usuario en ese espacio. Cuando el búfer está lleno, ETW vacía el búfer en el archivo de registro de la sesión de registro o en el consumidor de streaming en tiempo real. A continuación, ETW asigna un búfer libre a ese procesador.

Si el rendimiento del registro supera la capacidad del vaciado para liberar búferes, todo el espacio de búfer disponible en la sesión de registro podría dejar de estar disponible. Por ejemplo, esto puede ocurrir porque el rendimiento de escritura del disco es menor que el rendimiento de eventos entrantes. Esto hace que EventWrite genere un error de ERROR_NOT_ENOUGH_MEMORY y pierda los datos del evento. En tales casos, ETW incrementa la propiedad EventsLost de la sesión de registro para que los consumidores puedan ver la pérdida de datos.

Para obtener más información sobre cómo evitar perder eventos en una grabación, vea Evitar eventos perdidos.

Registro en memoria o en un archivo

Puede configurar perfiles para registrar los datos del evento en búferes en memoria o en un archivo. El modo de almacenamiento en búfer es una sesión circular en memoria. Puede guardar el contenido de esta sesión como una instantánea en un archivo de registro de seguimiento de eventos (ETL) a petición. WPR no vacía el contenido del espacio de búfer en memoria al guardar el contenido.

Puede dejar sesiones en modo de almacenamiento en búfer en constantes. Esto es especialmente útil si no sabe cuándo se producirá el comportamiento de interés. Elija el modo de almacenamiento en búfer cuando el espacio de búfer circular necesario sea lo suficientemente pequeño como para mantenerse en la memoria. Los archivos de registro secuenciales son los mejores para escenarios controlados. Por ejemplo, puede usar archivos de registro secuenciales para pruebas de regresión o cuando la aparición del comportamiento de interés sea más fácil de predecir.

Para obtener más información sobre las opciones de registro, vea Modo de registro.

Perfiles de grabación

Un perfil de grabación controla cada sesión. El perfil puede ser un perfil integrado o un perfil definido por el usuario. Para obtener más información, vea Perfiles de grabación.

Tamaño del búfer

El tamaño del búfer es importante para controlar la eficiencia de E/S y garantizar que WPR no omita eventos grandes. Los búferes muy pequeños pueden reducir la eficacia de escritura de E/S. Se recomienda un tamaño mínimo de búfer de 64 KB o 128 KB para promover un buen rendimiento de escritura y reducir la sobrecarga de disco y los eventos perdidos. El tamaño del búfer determina la duración máxima de una grabación. ETW limita el tamaño de evento más grande a aproximadamente 64 KB.

Recopiladores

Debe definir un recopilador del sistema y uno o varios recopiladores de eventos para una sesión en el perfil de grabación. El nombre del recopilador debe ser único para el sistema y el sistema debe tener acceso exclusivo de escritura al archivo de registro. El nombre del archivo de registro también debe ser único entre los nombres de archivo de todos los recopiladores. WPR no expande variables de entorno, por lo que la ruta de acceso al archivo de registro debe especificarse sin variables de entorno. Para obtener más información, vea 1. Definiciones del recopilador.

Proveedores

Las sesiones de registro recopilan de un conjunto definido de proveedores de eventos y del sistema. Este es un elemento importante para configurarse por sesión. La mayoría de los proveedores pueden tener una relación de varios a varios con sesiones. Los proveedores especiales son necesarios para algunos eventos, como eventos de kernel o montón. Para obtener más información, consulte Proveedores.

Características de WPR

Escenarios comunes de WPR

Perfiles de grabación

Búferes

BufferSize