Global Logger Trace Session

Une session de suivi Global Logger enregistre les événements qui se produisent pendant le processus de démarrage avant que le système ne soit entièrement opérationnel, tels que les événements générés par les pilotes de périphérique. Il s’agit d’une session de trace réservée intégrée à Windows.

Les sessions de suivi d’enregistreur d’événements globaux écrivent toujours des messages dans un journal de suivi. Global Logger ne prend pas en charge les sessions de suivi en temps réel ni les sessions de suivi mises en mémoire tampon.

Étant donné que Global Logger doit être disponible au début du processus de démarrage du système d’exploitation, il est démarré et configuré à l’aide d’entrées de Registre (dans la sous-clé HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger ) au lieu d’appels de fonction. Après le démarrage, l’enregistreur d’événements global se comporte comme une session de suivi d’événements standard.

La session de trace Global Logger utilise un nom de session réservé, « GlobalLogger ». Le GUID du contrôle est représenté par la constante GlobalLoggerGuid. Vous créez une session de suivi Global Logger, puis redémarrez l’ordinateur pour démarrer la session de suivi. Une seule session de trace Global Logger peut s’exécuter sur l’ordinateur à la fois.

Pour créer une session de suivi Global Logger, utilisez Tracelog. Il crée automatiquement la sous-clé de Registre et les entrées qui stockent les options de session de suivi. La session de suivi De l’enregistreur d’événements global démarre lorsque vous redémarrez l’ordinateur. Pour plus d’informations, consultez Syntaxe de la commande Tracelog.

Pour mettre en forme les messages de suivi à partir d’une session de suivi Global Logger, utilisez Tracefmt avec system.tmf, un fichier de format de message de trace inclus dans le WDK.

Étant donné que la session Global Logger est déclenchée par des entrées de Registre, elle s’exécute chaque fois que les entrées apparaissent dans le Registre. Pour empêcher la session Global Logger de démarrer chaque fois que le système démarre, définissez la valeur de l’entrée Start sur 0 ou supprimez toutes les entrées de Registre.

Vous pouvez convertir une session de suivi de l’enregistreur d’événements global en session de suivi de l’enregistreur d’événements du noyau NT, ce qui permet de suivre le noyau pendant le processus de démarrage. Pour plus d’informations, consultez Session d’enregistreur d’événements global au moment du démarrage.

Les fournisseurs de trace, tels que les pilotes en mode noyau et les applications en mode utilisateur, peuvent se connecter à la session de suivi Global Logger. Cela vous permet de suivre un pilote ou un autre fournisseur de trace pendant le démarrage du système. Pour plus d’informations, consultez Journalisation à la session d’enregistreur d’événements global.

Limitations de la session de suivi de l’enregistreur d’événements global

La session de suivi Global Logger est très utile, mais il est important de connaître ses limitations :

Vous ne pouvez exécuter qu’une seule session Global Logger à la fois.

La session Global Logger n’envoie pas de notification d’activation aux fournisseurs.

Les entrées du registre Global Logger restent dans le registre et sont effectives jusqu’à ce que vous les réinitialisiez ou les supprimiez manuellement, ou que vous utilisiez la commande tracelog -remove . Jusqu’à ce que vous les réinitialisiez, la session Global Logger démarre chaque fois que vous démarrez le système.

L’enregistreur d’événements Windows ACPI est activé de manière permanente pour la session de suivi de l’enregistreur d’événements global. Les messages de trace de cet enregistreur d’événements s’affichent dans le journal des traces.

Si une session de trace standard démarre alors qu’un pilote se connecte à la session Global Logger, le pilote bascule et démarre la journalisation dans la session de trace standard.

Entrées du registre d’enregistreurs d’événements globaux

Le tableau suivant montre les entrées de Registre qui configurent la session Global Logger. Ces entrées se trouvent dans la sous-clé HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger . Seule l’entrée Démarrer est requise.

En plus des entrées de Registre dans cette table, vous pouvez également ajouter une sous-clé ControlGUID sous la sous-clé GlobalLogger pour représenter un fournisseur de trace, tel qu’un pilote, qui se journalise dans la session de suivi Global Logger. Pour plus d’informations, consultez Journalisation dans la session d’enregistreur d’événements global.

Entrée Type de données Description

Start

REG_DWORD

Lorsqu’elle est définie sur 1 (activé), la session Global Logger démarre la prochaine fois que le système démarre.

0 = off, 1=on

BufferSize

REG_DWORD

Spécifie la taille de chaque mémoire tampon (en Ko). La valeur par défaut est 0x40 (64 Ko).

ClockType

REG_DWORD

Spécifie le minuteur utilisé pour les horodatages de message de trace.

À compter de Windows Vista, la valeur par défaut est 1. Sur les systèmes d’exploitation antérieurs à Windows Vista, la valeur par défaut est 2.

1 = valeur du compteur de performances (haute résolution)

2 = Minuteur système

3 = horloge de cycle du processeur

EnableKernelFlags

REG_BINARY

Convertit la session Global Logger en session de suivi de l’enregistreur d’événements du noyau NT et spécifie les événements inclus dans la trace du noyau.

Pour plus d’informations, consultez Session d’enregistreur d’événements global au moment du démarrage.

FileCounter

REG_DWORD

Stocke le nombre de fichiers journaux de trace d’événements générés par les sessions Global Logger.

Le système incrémente cette valeur jusqu’à ce qu’elle atteigne la valeur de FileMax. Ensuite, il réinitialise la valeur à 0.

Ce compteur empêche le système de remplacer un fichier journal de trace Global Logger.

FileMax

REG_DWORD

Spécifie le nombre maximal de fichiers journaux de trace d’événements autorisés sur le système.

Lorsque le nombre de journaux de trace atteint le maximum spécifié, le système commence à remplacer les journaux, en commençant par le plus ancien.

La valeur par défaut est 0, ce qui signifie qu’il n’y a pas de maximum.

FileName

REG_SZ

Chemin d’accès (facultatif) et nom de fichier du fichier journal de trace d’événements. La valeur par défaut est %SystemRoot%\System32\LogFiles\WMI\trace.log.

FlushTimer

REG_DWORD

Spécifie la fréquence (en secondes) à laquelle les mémoires tampons de trace sont vidées de force. Ce vidage forcé s’ajoute au vidage automatique qui se produit chaque fois qu’une mémoire tampon est pleine et lorsque la session de suivi s’arrête.

La valeur par défaut est 0. Par défaut, les mémoires tampons sont vidées uniquement lorsqu’elles sont pleines.

La durée minimale de vidage est de 1 seconde.

LogFileMode

REG_DWORD

Spécifie les options de session de journal.

Pris en charge uniquement dans Windows Vista et les versions ultérieures de Windows.

MaximumBuffers

REG_DWORD

Spécifie le nombre maximal de mémoires tampons pouvant être allouées pour la session. La valeur par défaut est 0x19 (25).

MaximumFileSize

REG_DWORD

Spécifie la taille maximale du fichier journal de trace d’événements. Par défaut, il n’existe aucune taille de fichier maximale.

MinimumBuffers

REG_DWORD

Spécifie le nombre de mémoires tampons allouées au démarrage de la session. La valeur par défaut est 0x3.

État

REG_DWORD

Stocke le code de retour de la tentative de démarrage d’une session de trace Global Logger.

Si la session n’a pas pu démarrer, la valeur de cette entrée est un code d’erreur Win32. Si la session a démarré, la valeur de cette entrée est ERROR_SUCCESS.

Ces entrées de Registre que vous créez restent dans le registre et sont effectives jusqu’à ce que vous les supprimiez ou modifiez leurs valeurs. Par conséquent, une fois la session Global Logger exécutée, utilisez la commande tracelog -remove GlobalLogger pour définir la valeur de l’entrée Start sur 0 et supprimer les autres entrées de Registre Global Logger. Sinon, la session Global Logger s’exécute chaque fois que vous redémarrez l’ordinateur, et le fichier journal résultant peut devenir très volumineux.

Constantes du mode journalisation

Le tableau suivant affiche les valeurs valides pour l’entrée de Registre LogFileMode dans la sous-clé HKLM\System\CurrentControlSet\Control\WMI\GlobalLogger . Cette entrée est utilisée pour définir les options d’une session de suivi Global Logger, notamment celles pour les sessions de suivi en temps réel, les sessions de suivi privées, la journalisation circulaire et la mise en mémoire tampon (aucun journal). Cette entrée de Registre est prise en charge uniquement dans Windows Vista et les versions ultérieures de Windows.

Cette entrée de Registre correspond au membre LogFileMode de la structure EVENT_TRACE_PROPERTIES. Ses valeurs correspondent aux constantes du mode de journalisation. La structure EVENT_TRACE_PROPERTIES et les constantes du mode de journalisation sont décrites dans la documentation Microsoft Windows SDK.

Ce tableau est affiché ici pour afficher les valeurs hexadécimales des constantes. Utilisez ces valeurs ou une somme de ces valeurs pour représenter la constante dans l’entrée de Registre LogFileMode .

Valeur Constante Description

0x0

EVENT_TRACE_FILE_MODE_NONE

Aucun fichier journal de trace des événements n’est créé.

0x1

EVENT_TRACE_FILE_MODE_SEQUENTIAL

Les fichiers journaux des traces d’événements sont séquentiels.

0x2

EVENT_TRACE_FILE_MODE_CIRCULAR

Les fichiers journaux des traces d’événements sont circulaires.

0x4

EVENT_TRACE_FILE_MODE_APPEND

Ajoutez des messages de trace à un fichier journal existant. Ce mode est valide uniquement avec les fichiers séquentiels.

0x8

EVENT_TRACE_FILE_MODE_NEWFILE

Créez un fichier journal de suivi des événements chaque fois que le fichier existant atteint la valeur de l’entrée MaximumFileSize (voir le tableau ci-dessus).

0x20

EVENT_TRACE_FILE_MODE_PREALLOCATE

Réserve de l’espace pour le fichier journal de trace des événements.

Valide uniquement avec EVENT_TRACE_FILE_MODE_SEQUENTIAL ou EVENT_TRACE_FILE_MODE_CIRCULAR, et non valide avec EVENT_TRACE_FILE_MODE_NEWFILE.

0x40

EVENT_TRACE_NONSTOPPABLE_MODE

Un appel à StopTrace n’arrête pas la session de trace.

Cette fonctionnalité empêche les utilisateurs d’arrêter les sessions de suivi dont le système a besoin pour le diagnostic et le réglage.

0x100

EVENT_TRACE_REAL_TIME_MODE

Spécifie une session de suivi en temps réel.

0x200

EVENT_TRACE_DELAY_OPEN_FILE_MODE

À usage interne uniquement.

0x400

EVENT_TRACE_BUFFERING_MODE

Les événements sont conservés dans les mémoires tampons. Ils ne sont jamais écrits dans un fichier journal ou remis à un consommateur de trace.

0x800

EVENT_TRACE_PRIVATE_LOGGER_MODE

Spécifie une session de trace privée. Cet indicateur n’est pas valide pour une session de suivi Global Logger.

0x1000

EVENT_TRACE_ADD_HEADER_MODE

À usage interne uniquement.

0x2000

EVENT_TRACE_USE_KBYTES_FOR_SIZE

Interpréter la valeur de MaximumFileSize en Ko au lieu de Mo.

0x4000

EVENT_TRACE_USE_GLOBAL_SEQUENCE

Génère des numéros de séquence globaux pour les messages de trace. Ces numéros sont uniques pour toutes les sessions de suivi sur l’ordinateur.

Par défaut, les messages de trace n’ont pas de numéros de séquence.

0x8000

EVENT_TRACE_USE_LOCAL_SEQUENCE

Génère des numéros de séquence locaux pour les messages de trace. Ces numéros sont uniques dans la session de trace.

Par défaut, les messages de trace n’ont pas de numéros de séquence.

0x10000

EVENT_TRACE_RELOG_MODE

À usage interne uniquement.

0x80000

EVENT_TRACE_KD_FILTER_MODE

Redirige les messages de trace vers le débogueur du noyau et définit la taille de la mémoire tampon de trace sur 3 Ko, la taille maximale de la mémoire tampon pour le débogueur.

0x1000000

EVENT_TRACE_MODE_RESERVED

Non valide pour une session de suivi De l’enregistreur d’événements global.

0x01000000

EVENT_TRACE_USE_PAGED_MEMORY

Allouez des mémoires tampons de session de trace à partir de la mémoire paginable. Par défaut, les mémoires tampons sont allouées à partir de la mémoire non pagéable.