Partager via


Enregistrer et afficher les événements TraceLogging

Vous pouvez utiliser de nombreux outils pour collecter et décoder des événements ETW TraceLogging.

  • Pour contrôler la session de suivi, utilisez des outils tels que WPR, tracelog ou traceview.
  • Pour décoder des événements d’une session, utilisez des outils tels que WPA, tracefmt ou traceview.

Cet exemple montre comment enregistrer des événements TraceLogging avec l’enregistreur de performances Windows (WPR) et les afficher avec windows Analyseur de performances (WPA).

Prérequis

  • Windows 10
  • La version Windows 10 de l’Enregistreur de performances Windows (WPR) et la version Windows 10 de Windows Analyseur de performances (WPA) qui fait partie du Kit d’évaluation et de déploiement Windows® (Windows ADK).

Important

Les traces capturées avec TraceLogging doivent être capturées avec la version Windows 10 de l’Enregistreur de performances Windows et consultées avec la version Windows 10 de Windows Analyseur de performances. Si vous ne parvenez pas à capturer ou décoder vos événements, vérifiez que vous utilisez la version Windows 10 des outils.

1. Capturer des données de trace avec WPR

Pour capturer une trace sur Windows Phone, consultez Capturer les événements TraceLogging sur Windows Phone ci-dessous.

Créez un profil d’enregistreur de performances Windows (.wprp) afin de pouvoir utiliser WPR pour capturer vos événements tracelogging.

Créez un . Fichier WPRP

  1. Utilisez l’exemple WPRP suivant avec l’exemple de code natif dans le démarrage rapide TraceLogging C/C++ ou l’exemple managé dans le guide de démarrage rapide géré TraceLogging. Si vous journaliser des événements à partir de votre propre fournisseur, remplacez les TODO sections par les valeurs appropriées pour votre fournisseur.

    Important

    Si vous utilisez le démarrage rapide TraceLogging C/C++, spécifiez le GUID du fournisseur dans l’attribut Name de l’élément <EventProvider> . Par exemple : <EventProvider Id="EventProvider_SimpleTraceLoggingProvider" Name="0205c616-cf97-5c11-9756-56a2cee02ca7" />. Si vous utilisez le démarrage rapide traceLogging managé, spécifiez le nom du fournisseur préfacé par * dans l’attribut Name de l’élément <EventProvider /> . Par exemple : <EventProvider Name="*SimpleTraceLoggingProvider" />.

    Exemple de fichier WPRP :

    <?xml version="1.0" encoding="utf-8"?>
    <!-- TODO:
    1. Find and replace "SimpleTraceLoggingProvider" with the name of your provider.
    2. See TODO below to update GUID for your event provider
    -->
    <WindowsPerformanceRecorder Version="1.0" Author="Microsoft Corporation" Copyright="Microsoft Corporation" Company="Microsoft Corporation">
      <Profiles>
        <EventCollector Id="EventCollector_SimpleTraceLoggingProvider" Name="SimpleTraceLoggingProvider">
          <BufferSize Value="64" />
          <Buffers Value="4" />
        </EventCollector>
    
        <!-- TODO:
        1. Update Name attribute in EventProvider xml element with your provider GUID, eg: Name="0205c616-cf97-5c11-9756-56a2cee02ca7". Or
           if you specify an EventSource C# provider or call TraceLoggingRegister(...) without a GUID, use star (*) before your provider
           name, eg: Name="*MyEventSourceProvider" which will enable your provider appropriately.
        2. This sample lists one EventProvider xml element and references it in a Profile with EventProviderId xml element.
           For your component wprp, enable the required number of providers and fix the Profile xml element appropriately
        -->
        <EventProvider Id="EventProvider_SimpleTraceLoggingProvider" Name="*SimpleTraceLoggingProvider" />
    
        <Profile Id="SimpleTraceLoggingProvider.Verbose.File" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" LoggingMode="File" DetailLevel="Verbose">
          <Collectors>
            <EventCollectorId Value="EventCollector_SimpleTraceLoggingProvider">
              <EventProviders>
                <!-- TODO:
                1. Fix your EventProviderId with Value same as the Id attribute on EventProvider xml element above
                -->
                <EventProviderId Value="EventProvider_SimpleTraceLoggingProvider" />
              </EventProviders>
            </EventCollectorId>
          </Collectors>
        </Profile>
    
        <Profile Id="SimpleTraceLoggingProvider.Light.File" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="File" DetailLevel="Light" />
        <Profile Id="SimpleTraceLoggingProvider.Verbose.Memory" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="Memory" DetailLevel="Verbose" />
        <Profile Id="SimpleTraceLoggingProvider.Light.Memory" Name="SimpleTraceLoggingProvider" Description="SimpleTraceLoggingProvider" Base="SimpleTraceLoggingProvider.Verbose.File" LoggingMode="Memory" DetailLevel="Light" />
    
      </Profiles>
    </WindowsPerformanceRecorder>
    
  2. Enregistrez le fichier avec un . Extension de nom de fichier WPRP.

  3. Démarrez la capture à l’aide de WPR à partir d’une fenêtre d’invite de commandes avec élévation de privilèges (exécuter en tant qu’administrateur).

    < chemin d’accès à wpr>\wpr.exe -start GeneralProfile -start TraceLoggingProvider.wprp

    Conseil

    À des fins de profilage général, vous pouvez également ajouter -start GeneralProfile à la ligne de commande wpr.exe pour capturer les événements système ainsi que les événements de votre fournisseur. Si vous souhaitez uniquement rassembler vos événements, omettez -start GeneralProfile.

  4. Exécutez l’application qui contient vos événements.

  5. Arrêtez la capture de traces.

    < chemin d’accès à wpr>\wpr.exe -stop TraceCaptureFile.etl description

    Conseil

    Si vous avez ajouté -start GeneralProfile pour collecter des événements système, ajoutez -stop GeneralProfile à la ligne de commandewpr.exe ci-dessus.

2. Capturer les événements TraceLogging sur Windows Phone

  1. Démarrez le journal de suivi pour capturer des événements à partir de votre fournisseur.

    cmdd tracelog -start test -f c:\test.etl -guid #providerguid

  2. Exécutez votre scénario de test pour journaliser les événements.

  3. Arrêter la capture de trace.

    cmdd tracelog -stop test

  4. Fusionnez les résultats de la trace système avec vos résultats de trace.

    cmdd xperf -merge c:\test.etl c:\testmerged.etl

  5. Récupérez le fichier journal fusionné.

    getd c:\testmerged.etl

3. Afficher les données TraceLogging à l’aide de Windows Analyseur de performances

WPA est actuellement la seule visionneuse que vous pouvez utiliser pour afficher les fichiers de trace (.etl).

  1. Démarrez WPA.

    <chemin d’accès à wpr>\wpa.exe traceLoggingResults.etl

  2. Chargez le fichier de trace (.etl) que vous avez spécifié dans la commande wpa.exe ci-dessus, par exemple traceLoggingResults.etl.

  3. Affichez les événements de votre fournisseur. Dans le Explorer WPA Graph, développez Activité système.

  4. Double-cliquez dans le volet Événements génériques pour afficher les événements dans le volet Analyse .

    développer des événements génériques

  5. Dans le volet Analyse, recherchez les événements de votre fournisseur pour vérifier que TraceLogging fonctionne.

    Dans la colonne Nom du fournisseur de la table Événements génériques , recherchez et sélectionnez la ligne avec le nom de votre fournisseur.

    Si vous avez plusieurs fournisseurs à trier, cliquez sur l’en-tête de colonne pour trier par nom de colonne, ce qui peut faciliter la recherche de votre fournisseur.

    Lorsque vous trouvez votre fournisseur, cliquez avec le bouton droit sur le nom et sélectionnez Filtrer pour la sélection.

    filtrer la sélection vers le fournisseur

    L’événement pour SimpleTraceLoggingProvider et sa valeur s’affichent dans le volet inférieur de la fenêtre Analyse. Développez le nom du fournisseur pour voir les événements.

    afficher l’événement à partir du simpletraceloggingprovider

    Pour plus d’informations sur l’utilisation de WPA, consultez Windows Analyseur de performances.

Résumé et étapes suivantes

Le processus d’enregistrement et d’affichage des événements ETW à l’aide de WPR et WPA s’applique également aux événements TraceLogging.

Pour obtenir d’autres exemples, consultez Exemples de suivi C/C++ .