Nouveautés du suivi des événements

Cette section décrit les nouvelles fonctionnalités ajoutées au suivi des événements pour Windows dans chaque version.

Windows 10, version 1709

ETW peut désormais effectuer le suivi facultatif des fichiers binaires pour tous les fournisseurs activés pour la session. Le suivi s’applique de manière rétroactive aux fournisseurs qui ont été activés à la session avant l’appel, ainsi que pour tous les fournisseurs futurs qui sont activés pour la session. Vous pouvez également interroger le nombre maximal actuellement configuré d’enregistreurs d’événements système autorisés par le système d’exploitation. Pour plus d’informations, consultez les valeurs TraceProviderBinaryTracking et TraceMaxLoggersQuery de l’énumération TRACE_INFO_CLASS , ainsi que la récupération de données de suivi d’événements supplémentaires.

ETW peut désormais filtrer les événements en fonction du nom de l’événement. Vous pouvez également déterminer quels événements obtiennent leurs piles capturées. Pour plus d’informations, consultez les valeurs EVENT_FILTER_TYPE_EVENT_NAME, EVENT_FILTER_TYPE_STACKWALK_NAME et EVENT_FILTER_TYPE_STACKWALK_LEVEL_KWde la structure EVENT_FILTER_DESCRIPTOR, ainsi que les structures EVENT_FILTER_EVENT_NAME et EVENT_FILTER_LEVEL_KW associées.

Windows 10

TraceLogging s’appuie sur ETW et fournit un moyen simplifié d’instrumenter le code pour les développeurs .NET et WinRT natifs. TraceLogging vous permet d’inclure des données structurées avec des événements, mettre en corrélation des événements et ne nécessite pas de fichier XML de manifeste d’instrumentation distinct.

Les caractéristiques du fournisseur ont été ajoutées en tant que méthode d’attachement d’autres données à une inscription de fournisseur individuelle. Ils peuvent être utilisés pour les fournisseurs basés sur des manifestes ou TraceLogging. Cela inclut actuellement la prise en charge de l’ajout d’un nom de fournisseur et/ou d’un groupe de fournisseurs à une inscription de fournisseur individuelle. Les groupes de fournisseurs sont une nouvelle fonctionnalité permettant à plusieurs fournisseurs ETW d’être contrôlés dans l’agrégation par le groupe auquel ils appartiennent.

L’état de capture périodique est un moyen d’autoriser les notifications d’état de capture à envoyer régulièrement aux fournisseurs. Lorsque cela est activé, les notifications sont envoyées uniquement aux inscriptions de fournisseurs qui ont été précédemment activées dans la session actuelle. Chaque fournisseur peut définir sa propre réponse (le cas échéant) à une notification. Pour plus d’informations sur l’implémentation, consultez TRACE_PERIODIC_CAPTURE_STATE_INFO.

Windows 8.1 et Windows Server 2012 R2

Les fonctionnalités suivantes ont été ajoutées au suivi des événements sur Windows 8.1 et Windows Server 2012 R2.

Fonctions qui prennent en charge l’utilisation des filtres de charge utile, d’étendue et de procédure de pile d’événements utilisés par la fonction EnableTraceEx2 et les structures ENABLE_TRACE_PARAMETERS et EVENT_FILTER_DESCRIPTOR pour filtrer sur des conditions spécifiques dans une session d’enregistreur d’événements. Pour plus d'informations, consultez les pages suivantes :

En outre, consultez la documentation largement révisée pour la fonction EnableTraceEx2 et les structures ENABLE_TRACE_PARAMETERS et EVENT_FILTER_DESCRIPTOR utilisées par ces fonctionnalités.

Structure qui définit un prédicat de filtre de charge utile d’événement qui décrit comment filtrer sur un champ unique dans une session de trace utilisée par la nouvelle fonction TdhCreatePayloadFilter et une nouvelle structure utilisée par l’ID d’événement et les filtres de procédure de pile. Pour plus d'informations, consultez les pages suivantes :

Fonctions qui récupèrent des informations sur les événements présents dans le manifeste du fournisseur. Pour plus d'informations, consultez les pages suivantes :

Structure qui définit un tableau d’événements dans un manifeste de fournisseur utilisé par la nouvelle fonction TdhEnumerateManifestProviderEvents . Pour plus d'informations, consultez les pages suivantes :

Windows 8 et Windows Server 2012

Les fonctionnalités suivantes ont été ajoutées au suivi des événements sur Windows 8 et Windows Server 2012.

Les fonctions qui effectuent des opérations sur un objet d’inscription, fournissent l’analyse de charge utile d’événement, fournissent la navigation du fournisseur de trace, interrogent les paramètres de session de suivi des événements et traitent un fichier de trace journalisé. Pour plus d'informations, consultez les pages suivantes :

Interfaces qui fournissent des informations sur le processus de suivi et quand des événements sont journalisés, accèdent aux données d’un événement spécifique et accèdent aux fonctionnalités de relogage qui permettent la manipulation des fichiers ETL (Event Trace Log). Pour plus d'informations, consultez les pages suivantes :

Énumérations supplémentaires utilisées par les nouvelles fonctions et interfaces. Pour plus d'informations, consultez les pages suivantes :

Windows 7 et Windows Server 2008 R2

Les fonctionnalités suivantes ont été ajoutées dans cette version :

  • Possibilité pour les fournisseurs de définir des filtres dans le manifeste. Dans Windows Vista, les contrôleurs peuvent transmettre des données de filtre au fournisseur. Toutefois, la disposition des données de filtre n’a pas été définie dans le manifeste. Le fournisseur doit donc utiliser d’autres moyens pour fournir la définition de filtre aux contrôleurs. Avec cette version, les fournisseurs peuvent définir la définition de filtre dans le manifeste (voir l’attribut filtre du type complexe ProviderType ). Les contrôleurs peuvent ensuite utiliser la fonction TdhEnumerateProviderFilters pour déterminer la définition de filtre. Les fournisseurs qui utilisent des filtres doivent utiliser la fonction EventWriteEx pour écrire l’événement.
  • Possibilité d’utiliser une mémoire tampon unique pour collecter des événements générés sur plusieurs processeurs. L’utilisation d’une mémoire tampon unique élimine les événements qui apparaissent hors de l’ordre sur les ordinateurs multiprocesseurs. Pour plus d’informations, consultez le mode de journalisation EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING . Par défaut, ETW utilise des mémoires tampons par processeur.
  • Possibilité de capturer une trace de pile pour les événements. Pour activer le suivi de pile pour les événements de noyau, consultez la fonction TraceSetInformation . Pour activer le suivi de pile pour les événements utilisateur, consultez l’indicateur EVENT_ENABLE_PROPERTY_STACK_TRACE pour le membre EnableProperty de ENABLE_TRACE_PARAMETERS.
  • Possibilité de spécifier le mode de journalisation EVENT_TRACE_BUFFERING_MODE ou EVENT_TRACE_FILE_MODE_NEWFILE avec le mode de journalisation EVENT_TRACE_PRIVATE_LOGGER_MODE (voir Constantes du mode journalisation).
  • Possibilité d’activer un fournisseur de façon synchrone. Par défaut, les fournisseurs sont activés de façon asynchrone. Pour activer un fournisseur de manière synchrone, définissez le paramètre Timeoutd’EnableTraceEx2.
  • La possibilité pour le contrôleur de demander que le fournisseur journale son état. Pour plus d’informations, consultez l’indicateur EVENT_CONTROL_CODE_CAPTURE_STATE pour le paramètre ControlCode de EnableTraceEx2.
  • Possibilité pour les consommateurs de mettre en forme des données d’événement à l’aide de la fonction TdhFormatProperty .
  • Possibilité de décoder des événements manifestes sur des ordinateurs qui ne contiennent pas le fournisseur. Pour plus d’informations, consultez la fonction TdhLoadManifest .

Les fonctions suivantes ont été ajoutées dans cette version :

Les structures suivantes ont été ajoutées dans cette version :

Les énumérations suivantes ont été ajoutées dans cette version :

Les classes MOF suivantes ont été ajoutées dans cette version :