Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Essayez TraceProcessor pour accéder aux données dans un suivi d’événements pour Windows (ETW). TraceProcessor vous permet d’accéder aux données de trace ETW en tant qu’objets .NET.
Dans ce guide de démarrage rapide, vous allez apprendre à :
- Installez le package NuGet TraceProcessing.
- Créez un TraceProcessor.
- Utilisez TraceProcessor pour accéder aux lignes de commande de processus contenues dans la trace.
Conditions préalables
Visual Studio 2019
Installer le package NuGet TraceProcessing
.NET TraceProcessing est disponible à partir de NuGet avec l’ID de package suivant :
Microsoft.Windows.EventTracing.Processing.All
Vous pouvez utiliser ce package dans une application console pour répertorier les lignes de commande de processus contenues dans une trace ETW (fichier .etl).
Créez une application console .NET. Dans Visual Studio, sélectionnez Fichier, Nouveau, Projet..., puis choisissez le modèle d’application console pour C#.
Entrez un nom de projet, par exemple TraceProcessorQuickstart, puis choisissez Créer.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Dépendances et choisissez Gérer les packages NuGet... et basculez vers l’onglet Parcourir.
Dans la zone de recherche, entrez Microsoft.Windows.EventTracing.Processing.All et recherchez.
Sélectionnez Installer sur le package NuGet avec ce nom, puis fermez la fenêtre NuGet.
Créer un TraceProcessor
Remplacez Program.cs par le contenu suivant :
using Microsoft.Windows.EventTracing; using Microsoft.Windows.EventTracing.Processes; using System; class Program { static void Main(string[] args) { if (args.Length != 1) { Console.Error.WriteLine("Usage: <trace.etl>"); return; } using (ITraceProcessor trace = TraceProcessor.Create(args[0])) { // TODO: call trace.Use... trace.Process(); Console.WriteLine("TODO: Access data from the trace"); } } }Fournissez un nom de trace à utiliser lors de l’exécution du projet.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet et choisissez Propriétés. Basculez vers l’onglet Débogage et entrez le chemin d’accès à une trace (fichier .etl) dans les arguments d’application.
Si vous n’avez pas encore de fichier de trace, vous pouvez utiliser Enregistreur de performances Windows pour en créer un.
Exécutez l’application.
Choisissez Déboguer, Démarrer sans débogage pour exécuter votre code.
Utiliser TraceProcessor pour accéder aux lignes de commande de processus contenues dans la trace
Remplacez Program.cs par le contenu suivant :
using Microsoft.Windows.EventTracing; using Microsoft.Windows.EventTracing.Processes; using System; class Program { static void Main(string[] args) { if (args.Length != 1) { Console.Error.WriteLine("Usage: <trace.etl>"); return; } using (ITraceProcessor trace = TraceProcessor.Create(args[0])) { IPendingResult<IProcessDataSource> pendingProcessData = trace.UseProcesses(); trace.Process(); IProcessDataSource processData = pendingProcessData.Result; foreach (IProcess process in processData.Processes) { Console.WriteLine(process.CommandLine); } } } }Exécutez de nouveau l'application.
Cette fois, vous devez voir une liste de lignes de commande de tous les processus qui s’exécutaient pendant l’enregistrement de la trace.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez créé une application console, installé TraceProcessor et l’avez utilisé pour accéder aux lignes de commande de traitement à partir d’une trace ETW. Vous disposez maintenant d’une application qui accède aux données de trace.
Les informations de traitement ne sont qu’un des nombreux types de données stockées dans une trace ETW auxquelles votre application peut accéder.
L’étape suivante consiste à examiner de plus près TraceProcessor et les autres sources de données auxquelles il peut accéder.
Windows developer