Partager via


Exécuter les outils d'analyse à partir de la page Performances et diagnostics

S'applique à Windows et Windows Phone

Pour analyser les performances, l'utilisation de la mémoire et la consommation d'énergie des applications du Windows Store et Windows Phone, utilisez les profileurs Visual Studio et les outils de diagnostic. Le concentrateur Performances et diagnostics facilite la sélection et l'exécution de ces outils, combine plusieurs outils en une seule exécution de diagnostic et gère les rapports générés. Vous pouvez exécuter les outils sur la plupart des cibles de déploiement. Pour les applications Windows Phone, utilisez un téléphone ou un émulateur. Pour les applications du Windows Store, utilisez l'ordinateur Visual Studio, le simulateur ou un ordinateur distant. Après la collecte des données, le rapport de diagnostic présente des graphiques de chronologie et des vues détaillées des données. Les paramètres et filtres du rapport Performances et diagnostics vous permettent de vous concentrer sur les parties critiques des données.

Outils dans le concentrateur Performances et diagnostics

Le concentrateur Performances et diagnostics vous montre les outils à utiliser pour des types particuliers d'applications (XAML et C#/VB/C++ ou HTML et JavaScript) et les outils à utiliser lors d'une seule exécution de diagnostic.

Utilisation de l'unité centrale (Toute)

Consommation d'énergie (Toute)

Utilisation de la mémoire (C#/VB/C++)

Utilisation de la mémoire JavaScript

Réactivité de l'interface utilisateur XAML

Réactivité de l'interface utilisateur HTML

Minutage de fonction JavaScript

Dans cet article

  • Démarrage rapide : collecter des données de diagnostic

  • Collecter des données de diagnostic

    Ajouter des marques utilisateur pour identifier des emplacements dans des données de diagnostic | Définir le projet de démarrage | Définir la cible de l'analyse | Choisir les outils à exécuter dans la session de diagnostic | Démarrer et arrêter la session de diagnostic

  • Ouvrir un fichier de session de diagnostic

  • Page de données Performances et diagnostics

  • Résolution des problèmes

Démarrage rapide : collecter des données de diagnostic

Notes

Vous devez disposer de privilèges d'administrateur pour exécuter les outils Performances et diagnostics.Vous pouvez exécuter Visual Studio en tant qu'administrateur, ou vous pouvez choisir d'exécuter les outils en tant qu'administrateur lorsque vous démarrez la session de diagnostic.

  1. Ouvrez le projet dans Visual Studio.

  2. Définissez l'emplacement de déploiement.

    S'applique uniquement à Windows Phone

    Les applications Windows Phone peuvent être déployées sur un téléphone ou sur un des émulateurs Visual Studio.

    S'applique uniquement à Windows

    Les applications du Windows Store peuvent être déployées sur l'ordinateur Visual Studio, sur le simulateur Visual Studio ou sur un PC ou une tablette connectés à un réseau.

    Remarque : Pour exécuter une session de diagnostic sur un PC ou une tablette distants, les Outils de contrôle à distance Visual Studio doivent être installés et s'exécuter sur la cible distante. Consultez Exécuter des applications du Windows Store sur un ordinateur distant à partir de Visual Studio.

    À partir de la liste d'emplacement de débogage, dans la barre d'outils du débogueur, sélectionnez l'emplacement de déploiement pour votre application. Les applications pour téléphones mobiles sont répertoriées ci-dessous :

    Liste de cibles de déploiement pour les applications Windows Phone

  3. Ouvrez une session Performances et diagnostics. Dans le menu Déboguer, sélectionnez Performances et diagnostics (raccourci clavier : Alt + F2).

  4. Dans le concentrateur Performances et diagnostics, sélectionnez un ou plusieurs outils à exécuter dans la session. Seuls les outils applicables au type de projet et au langage de programmation s'affichent. Lorsque vous choisissez un outil de diagnostic, les sélections d'outils qui ne peuvent pas être exécutés dans la même session de diagnostic sont désactivées. Les choix que vous devez effectuer pour une application JavaScript sont les suivants :

    Choisir un ou plusieurs outils de diagnostic

  5. Pour démarrer la session de diagnostic, choisissez Démarrer.

  6. Exécutez les scénarios pour lesquels vous souhaitez collecter des données.

    Durant l'exécution de la session, certains outils affichent des graphiques de données en temps réel sur la page Performances et Diagnostics.

    Collecter les données de la page Performances et diagnostics

  7. Pour terminer la session de diagnostic, choisissez Arrêter la collecte.

Collecter des données de diagnostic

Ajouter des marques utilisateur pour identifier des emplacements dans des données de diagnostic | Définir le projet de démarrage | Définir la cible de l'analyse | Choisir les outils à exécuter dans la session de diagnostic | Démarrer et arrêter la session de diagnostic

Ajouter des marques utilisateur pour identifier des emplacements dans des données de diagnostic

Vous pouvez ajouter des marques utilisateur à vos données de profilage pour vous aider à identifier des zones dans la chronologie.

Marques utilisateur dans la chronologie

La marque apparaît sous la forme d'un triangle orange dans la chronologie lorsque la méthode est exécutée. Le message et l'heure s'affichent sous la forme d'une info-bulle lorsque vous pointez sur la marque. Si plusieurs marques utilisateur sont proches, les marques sont fusionnées et les données de l'info-bulle sont rassemblées. Vous pouvez effectuer un zoom avant sur la chronologie pour dissocier les marques.

Notes

  • Les rapports Minutage de fonction JavaScript n'affichent pas les marques utilisateur.

  • Les marques ne sont pas affichées dans les rapports si l'outil Utilisation de l'UC est le seul outil utilisé dans une session de diagnostic.

  • Consultez l'exemple du SDK Windows Exemple LoggingSession pour des exemples supplémentaires.

Ajouter des marques à un code C#, Visual Basic ou C++

Pour ajouter des marques à un code C#, Visual Basic ou C++, créez tout d'abord un objet Windows.Foundation.Diagnostics LoggingChannel. Insérez ensuite un appel aux méthodes LoggingChannel.LogMessage aux points de votre code que vous souhaitez marquer. Utilisez LoggingLevel.Information dans les appels.

Lorsque la méthode s'exécute, une marque utilisateur est ajoutée aux données de profilage, ainsi qu'un message.

Remarques

L'ajout de canaux d'enregistrement à votre code pose quelques défis :

Chaque canal d'enregistrement ouvert doit avoir un nom unique. La tentative de création d'un canal d'enregistrement avec un nom identique comme canal ouvert entraîne une exception.

L'un des moyens d'éviter des noms dupliqués dans votre code consiste à utiliser une méthode static (Shared en Visual Basic) pour retourner un LoggingChannel dont le nom est assuré d'être unique. Voici un exemple d'utilisation de Guid pour garantir l'unicité :

//using Windows.Foundation.Diagnostics
public static LoggingChannel GetLoggingChannel()
{
    var name = Guid.NewGuid().ToString();
    return new LoggingChannel(name);
}
'Imports Windows.Foundation.Diagnostics
Public Shared Function GetLoggingChannel() As LoggingChannel
    Dim Name = Guid.NewGuid().ToString()
    GetLoggingChannel = New LoggingChannel(Name)
End Function
//using namespace Windows::Foundation::Diagnostics;
static LoggingChannel^ MainPage::GetLoggingChannel()
{
    auto name = (ref new Guid())->ToString();
    auto channel = ref new LoggingChannel(name);
    return channel;
}

C# et VB : les objets LoggingChannel doivent être supprimés

Dans la mesure où les objets LoggingChannel utilisent des ressources système, les projections C# et VB de LoggingChannel dérivent de l'interface System.IDisposable pour vous permettre de libérer les ressources avant la destruction de l'objet par le récupérateur de mémoire (« garbage collector ») du Common Language Runtime. Dans du code C++, l'objet LoggingChannel est détruit et les ressources sont libérées dès que l'objet est hors de portée. Voici des exemples de modèles qui vous permettent d'ajouter des marques utilisateur à un fichier de session de diagnostic :

void MyScenario()
{
    var logLevel = LoggingLevel.Information;
    using(var channel = Utils.GetLoggingChannel())
    {
        channel.LogMessage("MyScenario Start", logLevel);
        // scenario code
        channel.LogMessage("MyScenario End", logLevel);
    }
}
Sub MyScenario()
    Dim logLevel = LoggingLevel.Information
    Using channel As LoggingChannel = Utils.GetLoggingChannel()
        channel.LogMessage("MyScenario Start", logLevel)
        'scenario code
        channel.LogMessage("MyScenario End", logLevel)
    End Using
End Sub
// m_channel resources are released when containing 
// object goes out of scope
LoggingChannel^ m_channel = MainPage::GetLoggingChannel();
LoggingLevel m_logLevel = LoggingLevel::Information;

void MyScenario()
{
    m_channel->LogMessage(L"MyScenario Start", m_logLevel);
    //scenario code
    m_channel->LogMessage(L"MyScenario Start", m_logLevel);
}

Ajouter des marques au code JavaScript

Pour ajouter des marques utilisateur, ajoutez le code suivant aux points de votre code que vous souhaitez marquer :

if (performance && performance.mark) {
    performance.mark(markDescription);
}

markDescription est une chaîne contenant le message à afficher dans l'info-bulle de l'utilisateur.

Définir le projet de démarrage

Si votre solution contient plusieurs projets d'application, assurez-vous que celui que vous souhaitez analyser est défini comme le projet de démarrage. Dans l'Explorateur de solutions, sélectionnez le projet et choisissez Définir comme projet de démarrage à partir du menu contextuel.

Choisir Définir comme projet de démarrage

Définir l'emplacement de déploiement

Vous pouvez exécuter des sessions de diagnostic sur des applications pour téléphones mobiles sur un téléphone Windows directement connecté l'ordinateur Visual Studio ou dans un émulateur de téléphone Visual Studio. Vous pouvez exécuter des applications du Windows Store sur un ordinateur Visual Studio, dans le simulateur de périphérique Visual Studio ou sur un périphérique distant connecté à Visual Studio sur un réseau ou directement à l'ordinateur Visual Studio à l'aide d'un câble USB à Ethernet. Vous pouvez définir la cible de déploiement sur la page Débogage des propriétés du projet, ou vous pouvez choisir la cible à partir de la liste d'emplacements de débogage dans la barre d'outils de Visual Studio. Les déploiements pour les applications du Windows Store sont répertoriés ci-dessous :

Liste de cibles de déploiement pour les applications Windows Store

Le choix effectué sur la barre d'outils d'emplacement de débogage est enregistré dans les propriétés du projet.

S'applique uniquement à Windows

  • Pour exécuter une session de diagnostic sur un périphérique distant du Windows Store, les Outils de contrôle à distance Visual Studio doivent être installés et s'exécuter sur la cible distante. Consultez Exécuter des applications du Windows Store sur un ordinateur distant à partir de Visual Studio.

  • Si vous n'avez pas spécifié de périphérique distant lorsque vous avez choisi l'ordinateur distant dans la liste d'emplacement de débogage, effectuez cette opération dans la boîte de dialogue Connexions à distance qui s'affiche.

    Boîte de dialogue Connexions à distance

  • Une fois la cible de périphérique distant spécifié, utilisez la page Débogage des propriétés du projet pour effectuer la modification d'un nouveau périphérique.

  • Si vous utilisez un câble USB ou Ethernet pour connecter un appareil distant à l'ordinateur Visual Studio, spécifiez l'adresse IP de l'appareil distant dans la boîte de dialogue Connexions à distance.

Définir la cible de l'analyse

Vous pouvez non seulement démarrer votre application à partir du projet Visual Studio, mais également exécuter des sessions de diagnostic sur d'autres cibles. Par exemple, vous souhaitez peut-être diagnostiquer des problèmes de performances dans une version de votre application installée à partir du Windows Store.

Choisir la cible d'analyse des outils de diagnostic

S'applique uniquement à Windows

Vous pouvez démarrer des applications du Windows Store déjà installées sur un périphérique, ou vous pouvez attacher les outils de diagnostic à une application Windows Store qui s'exécute déjà. Lorsque vous choisissez Application en cours d'exécution ou Application installée, sélectionnez, dans une liste, l'application qui identifie les applications sur une cible de déploiement spécifique.

Choisir une application en cours d'exécution ou installée pour le diagnostic

S'applique uniquement à Windows Phone

Lorsque vous choisissez Internet Explorer, spécifiez l'URL et changez la cible de déploiement du téléphone.

Spécifier l'URL à afficher dans Internet Explorer

Choisir les outils à exécuter dans la session de diagnostic

Dans le concentrateur Performances et diagnostics, sélectionnez un ou plusieurs outils à exécuter dans la session de diagnostic. Seuls les outils applicables au type et à la programmation du projet s'affichent. Lorsque vous choisissez un outil de diagnostic, les sélections d'outils qui ne peuvent pas être exécutés dans la même session de diagnostic sont désactivées. Les choix que vous devez effectuer pour une application JavaScript sont les suivants :

Démarrer et arrêter la session de diagnostic

Pour démarrer la session de diagnostic, choisissez Démarrer.

Pour arrêter la session de diagnostic et commencer l'analyse des données, choisissez Arrêter la collecte en bas de la page.

Ouvrir un fichier de session de diagnostic

Lorsque vous arrêtez la collecte de données dans une session de diagnostic, les données sont analysées immédiatement et affichées dans un rapport Performances et diagnostics.

Dans le concentrateur Performances et diagnostics, vous pouvez également ouvrir les fichiers de session de diagnostic enregistrés à partir de la liste ouverte récemment.

Ouvrir un fichier de session de diagnostic enregistré

Sélectionnez le bouton Masquer ou Afficher en haut du concentrateur Performances et diagnostic pour développer ou réduire la liste des fichiers récemment utilisés.

Le rapport Performances et diagnostics

Page de données Performances et diagnostics

Étape 1

La chronologie indique la durée de la session de profilage, les événements d'activation du cycle de vie de l'application et les marques utilisateur.

Étape 2

Vous pouvez limiter le rapport à une partie de la chronologie en faisant glisser les barres bleues pour sélectionner une zone de la chronologie.

Étape 3

Un outil affiche un ou plusieurs graphiques principaux. Si la session de diagnostic a été créée avec plusieurs outils, tous les graphiques principaux sont affichés.

Étape 4

Vous pouvez réduire et développer les graphiques individuels.

Étape 5

Lorsque vos données sont composées d'informations de plusieurs outils, les détails par outil sont collectés sous des onglets.

Étape 6

Pour un outil, il peut y avoir une ou plusieurs vues détaillées. La vue est filtrée par la zone sélectionnée de la chronologie.

Résolution des problèmes

Événements de diagnostic supprimés.Certaines informations du rapport peuvent être manquantes ou imprécises

Le collecteur de données des outils de performances et de diagnostics peut consommer beaucoup de mémoire et d'UC. Quand le collecteur de données ne peut pas enregistrer dans le journal tous les événements de diagnostic, il affiche un message dans la barre d'informations au haut de la page Performances et diagnostics. Certaines données du rapport peuvent être manquantes ou non valides.

Pour résoudre ce problème, essayez les étapes suivantes pour libérer des ressources sur l'ordinateur, puis réexécutez la session de diagnostic :

  1. Fermez toutes les applications qui ne sont pas concernées par la session de diagnostic.

  2. Simplifiez votre scénario afin de collecter moins de données.

  3. Utiliser moins d'outils de diagnostic dans une seule session.

Voir aussi

Autres ressources

Performances (applications du Windows Store)

Exemple LoggingSession du SDK Windows