Nouveautés du suivi d’événements
Cette section décrit les nouvelles fonctionnalités qui ont été ajoutées au suivi d’événements pour Windows dans chaque version.
Windows 10, version 1709
ETW peut désormais éventuellement suivre les fichiers binaires pour tous les fournisseurs activés pour la session. Le suivi s’applique rétroactivement pour les fournisseurs qui ont été activés sur la session avant l’appel, ainsi que pour tous les fournisseurs futurs qui sont activés pour la session. Vous pouvez également désormais rechercher le nombre maximal d’enregistreurs d’événements système actuellement configurés 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 Récupération de données supplémentaires de suivi d’événements.
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_KW de 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 natifs, .NET et WinRT. TraceLogging vous permet d’inclure des données structurées avec des événements, de mettre en corrélation des événements et ne nécessite pas de fichier XML manifeste d’instrumentation distinct.
Les caractéristiques de fournisseur ont été ajoutées en tant que méthode permettant d’attacher davantage de données à une inscription de fournisseur individuel. Ils peuvent être utilisés pour les fournisseurs basés sur un manifeste 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é qui permet à plusieurs fournisseurs ETW d’être contrôlés en agrégat par le groupe auquel ils appartiennent.
L’état de capture périodique permet d’envoyer régulièrement des notifications d’état de capture aux fournisseurs. Lorsque cette option est activée, les notifications sont envoyées uniquement aux inscriptions de fournisseurs qui ont été précédemment activées pour la session active. 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 d’é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 à filtrer sur des conditions spécifiques dans une session d’enregistreur d’événements. Pour plus d'informations, consultez les pages suivantes :
- TdhAggregatePayloadFilters
- TdhCleanupPayloadEventFilterDescriptor
- TdhCreatePayloadFilter
- TdhDeletePayloadFilter
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 les filtres d’ID d’événement et 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 d’événements sur Windows 8 et Windows Server 2012.
Fonctions qui effectuent des opérations sur un objet d’inscription, fournissent l’analyse de la charge utile d’événement, fournissent la navigation du fournisseur de traces, interrogent les paramètres de session de suivi d’événements et traitent un fichier de trace journalisé. Pour plus d'informations, consultez les pages suivantes :
- EventSetInformation
- TdhCloseDecodingHandle
- TdhGetDecodingParameter
- TdhGetWppProperty
- TdhGetWppMessage
- TdhLoadManifestFromBinary
- TdhOpenDecodingHandle
- TdhSetDecodingParameter
- TraceQueryInformation
Interfaces qui fournissent des informations au réinscriteur sur le processus de suivi et le moment où les événements sont consignés, l’accès aux données d’un événement spécifique et l’accès aux fonctionnalités de relogger 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 passer des données de filtre au fournisseur. Toutefois, la disposition des données de filtre n’étant pas définie dans le manifeste, le fournisseur doit 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 filters 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 dans le désordre 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 du noyau, consultez la fonction TraceSetInformation . Pour activer le suivi de la 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 manière asynchrone. Pour activer un fournisseur de façon synchrone, définissez le paramètre Timeout de EnableTraceEx2.
- Possibilité pour le contrôleur de demander au fournisseur de consigner 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 les données d’événement à l’aide de la fonction TdhFormatProperty .
- Possibilité de décoder les événements manifestes sur les 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 :
- EnableTraceEx2
- EventWriteEx
- TdhEnumerateProviderFilters
- TdhFormatProperty
- TdhLoadManifest
- TdhUnloadManifest
- TraceSetInformation
Les structures suivantes ont été ajoutées dans cette version :
- CLASSIC_EVENT_ID
- ENABLE_TRACE_PARAMETERS
- EVENT_EXTENDED_ITEM_STACK_TRACE32
- EVENT_EXTENDED_ITEM_STACK_TRACE64
- EVENT_FILTER_HEADER
- PROVIDER_FILTER_INFO
Les énumérations suivantes ont été ajoutées dans cette version :
Les classes MOF suivantes ont été ajoutées dans cette version :