Share via


Cible de mémoire tampon en anneau

La cible de mémoire tampon en anneau maintient brièvement les données d'événements en mémoire. Cette cible peut gérer des événements dans deux modes différents.

  • Le premier mode est le mode FIFO strict (premier entré, premier sorti), où l'événement le plus ancien est supprimé lorsque toute la mémoire allouée à la cible est utilisée. Dans ce mode (par défaut), l'option occurrence_number a la valeur 0.

  • Le deuxième mode est le mode FIFO par événement, où un nombre spécifié d'événements de chaque type est conservé. Dans ce mode, les événements les plus anciens de chaque type sont supprimés lorsque toute la mémoire allouée à la cible est utilisée. Vous pouvez configurer l'option occurrence_number pour spécifier le nombre d'événements de chaque type à conserver.

Le tableau suivant décrit les options disponibles pour configurer la cible de mémoire tampon en anneau.

Option

Valeurs autorisées

Description

max_memory

Tout entier de 32 bits. Cette valeur est facultative.

Quantité de mémoire maximale, en kilo-octet (Ko), à utiliser. Des événements existants sont supprimés en fonction de la limite qui est atteinte en premier : max_event_limit ou max_memory.

max_event_limit

Tout entier de 32 bits. Cette valeur est facultative.

Nombre maximal d'événements conservés dans le tampon ring_buffer. Des événements existants sont supprimés en fonction de la limite qui est atteinte en premier : max_event_limit ou max_memory. Par défaut = 1000.

occurrence_number

Une des valeurs suivantes :

  • 0 (par défaut) = l'événement le plus ancien est supprimé lorsque toute la mémoire allouée à la cible est utilisée.

  • entier 32 bits = le nombre d'événements de chaque type à conserver avant d'être supprimés en fonction du mode FIFO par événement.

Cette valeur est facultative.

Le mode FIFO à utiliser et, s'il est supérieur à 0, le nombre d'événements préférés de chaque type à conserver dans la mémoire tampon.

Ajout de la cible à une session

Pour ajouter la cible de mémoire tampon en anneau à une session Événements étendus lorsque vous créez ou modifiez une session d'événements, vous devez inclure l'instruction suivante :

ADD TARGET package0.ring_buffer

Vérification de la sortie cible

Pour vérifier la sortie de la cible de mémoire tampon en anneau, vous pouvez utiliser la requête suivante, en remplaçant session_name par le nom de la session d'événements.

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'

L'exemple suivant montre le format de sortie de la cible de mémoire tampon en anneau.

<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>

Voir aussi

Référence

sys.dm_xe_session_targets (Transact-SQL)

CREATE EVENT SESSION (Transact-SQL)

ALTER EVENT SESSION (Transact-SQL)

Concepts

Cibles des Événements étendus SQL Server