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