Compartir a través de


Destino de búfer de anillo

El destino de búfer de anillo guarda datos de eventos en la memoria durante un corto espacio de tiempo. Este destino puede administrar los eventos de uno de los dos modos siguientes.

  • El primer modo es un orden FIFO (First In, First Out; primero en entrar, primero en salir) estricto, en el que el evento más antiguo se descarta cuando se usa toda la memoria asignada al destino. En este modo (el valor predeterminado), la opción occurrence_number está establecida en 0.

  • El segundo modo es un orden FIFO por evento, en el que se conserva un número determinado de eventos de cada tipo. En este modo, los eventos más antiguos de cada tipo se descartan cuando se usa toda la memoria asignada al destino. Puede configurar la opción occurrence_number para especificar el número de eventos de cada tipo que se desea conservar.

En la tabla siguiente se describen las opciones disponibles para configurar el destino de búfer de anillo.

Opción

Valores permitidos

Descripción

max_memory

Cualquier entero de 32 bits. Este valor es opcional.

La cantidad de memoria máxima en kilobytes (kB) que se va a usar. Los eventos existentes se quitan en función del límite que se alcance primero: max_event_limit o max_memory.

max_event_limit

Cualquier entero de 32 bits. Este valor es opcional.

El número máximo de eventos que se mantiene en el búfer en anillo. Los eventos existentes se quitan en función del límite que se alcance primero: max_event_limit o max_memory. Valor predeterminado = 1000.

occurrence_number

Los valores pueden ser los siguientes:

  • 0 (valor predeterminado) = El evento más antiguo se descarta cuando se usa toda la memoria asignada al destino.

  • Un número entero de 32 bits = El número de eventos de cada tipo que se conserva antes de descartarse siguiendo un orden FIFO por evento.

Este valor es opcional.

Modo FIFO que se va a usar y, si se establece en un valor mayor que 0, el número preferido de eventos de cada tipo que se desea conservar en el búfer.

Agregar el destino a una sesión

Para agregar el destino del búfer de anillo a una sesión de eventos extendidos, debe incluir la siguiente instrucción al crear o modificar una sesión de eventos:

ADD TARGET package0.ring_buffer

Revisar la salida del destino

Para revisar la salida del destino del búfer en anillo, puede utilizar la siguiente consulta, reemplazando session_name por el nombre de la sesión de eventos.

SELECT name, target_name, CAST(xet.target_data AS xml)
FROM sys.dm_xe_session_targets AS xet
JOIN sys.dm_xe_sessions AS xe
   ON (xe.address = xet.event_session_address)
WHERE xe.name = 'session_name'

En el siguiente ejemplo se muestra el formato de salida del destino de búfer de anillo.

<RingBufferTarget eventsPerSec="" processingTime="" totalEventsProcessed="" eventCount="" droppedCount="" memoryUsed="">
 <event name="" package="" id="" version="" timestamp="">
    <data name="">
      <type name="" package="" />
      <value></value>
      <text></text>
    </data>
    <action name="" package="">
      <type name="" package="" />
      <value></value>
      <text></text>
    </action>
  </event>
</RingBufferTarget>

Vea también

Referencia

sys.dm_xe_session_targets (Transact-SQL)

CREATE EVENT SESSION (Transact-SQL)

ALTER EVENT SESSION (Transact-SQL)

Conceptos

Destinos de SQL Server Extended Events