Comment : attacher le profileur à une application Web ASP.NET pour collecter des données de concurrence en utilisant la ligne de commande
Cette rubrique décrit comment utiliser les outils en ligne de commande des outils de profilage Visual Studio pour attacher le profileur à une application ASP.NET et collecter des données de concurrence de processus et de threads.
Les outils en ligne de commande des outils de profilage se trouvent dans le sous-répertoire \Team Tools\Performance Tools du répertoire d'installation de Visual Studio s Sur les ordinateurs 64 bits, les versions 64 bits et 32 bits de ces outils sont disponibles. Pour utiliser le profileur à une invite de commandes, vous devez ajouter le chemin d'accès des outils à la variable d'environnement PATH de la fenêtre Invite de commandes ou l'ajouter à la commande elle-même. Pour plus d'informations, consultez Spécification du chemin d'accès aux outils en ligne de commande des outils de profilage.
Notes
Seule l'option /start:concurrency,resourceonly est prise en charge pour les applications Web. La collecte de données d'activité de thread et de données de visualisation à l'aide de l'option /start:concurrency ou /start:concurrency,threadonly n'est pas prise en charge.
Pour collecter les données de performance d'une application ASP.NET, vous devez initialiser les variables d'environnement appropriées et redémarrer l'ordinateur qui héberge l'application ASP.NET pour configurer le serveur Web en vue du profilage.
Vous attachez alors le profileur au processus de travail ASP.NET qui héberge votre site Web. Lorsque le profileur est attaché à l'application, vous pouvez suspendre la collecte de données et la reprendre. Pour terminer une session de profilage, le profileur ne doit plus être attaché à l'application et le profileur doit être arrêté explicitement. Dans la plupart des cas, nous vous recommandons de désactiver les variables d'environnement de profilage à la fin d'une session.
Attachement du profileur
Pour attacher le profileur à une application ASP.NET
Dans une fenêtre Invite de commandes, initialisez les variables d'environnement de profilage en tapant la commande suivante :
VSPerfClrEnv /globalsampleon [/samplelineoff]
/globalsampleon permet la collecte des données d'accès concurrentiel.
/samplelineoff désactive l'assignation des données collectées à des lignes de code source spécifiques. Lorsque cette option est spécifiée, les données sont assignées uniquement aux fonctions.
Redémarrez l'ordinateur.
Démarrez le profileur en tapant la commande suivante :
VSPerfCmd **/start:concurrency,ResourceOnly /output:**OutputFile [Options]
L'option /start initialise le profileur afin de collecter des données de conflit de ressources.
L'option /output**:**OutputFile est requise avec /start. OutputFile spécifie le nom et l'emplacement du fichier de données de profilage (.vsp).
Vous pouvez utiliser toute option figurant dans le tableau suivant avec l'option /start .
Option
Description
/utilisateur:[Domain\]UserName
Spécifie le domaine et le nom d'utilisateur facultatifs du compte qui se verra accorder l'accès au profileur.
Active le profilage de processus dans d'autres ouvertures de session.
/wincounter:WinCounterPath
Spécifie un compteur de performance Windows à collecter au cours du profilage.
/automark:Interval
À n'utiliser qu'avec /wincounter. Spécifie le nombre de millisecondes entre les événements de collecte du compteur de performance Windows. La valeur par défaut est 500.
/events:Config
Spécifie un événement ETW (Event Tracing for Windows) à collecter au cours du profilage. Les événements ETW sont collectés dans un fichier séparé (.etl).
Démarrez l'application ASP.NET de la manière classique.
Attachez le profileur au processus de travail ASP.NET en tapant la commande suivante :**VSPerfCmd /attach:PID [/targetclr:**Version]
PID spécifie l'ID ou le nom du processus de travail ASP.NET. Vous pouvez afficher les ID de processus de tous les processus en cours d'exécution dans le Gestionnaire des tâches de Windows.
/targetclr**:**Version spécifie la version du Common Language Runtime (CLR) à profiler lorsque plusieurs versions du runtime sont chargées dans une application. Ce paramètre est optionnel.
Contrôle de la collecte de données
Lorsque l'application s'exécute, vous pouvez contrôler la collecte de données en démarrant et en arrêtant l'écriture de données dans le fichier à l'aide des options VSPerfCmd.exe. En contrôlant la collecte de données, vous pouvez collecter des données pour une partie spécifique de l'exécution du programme, notamment le démarrage ou l'arrêt de l'application.
Pour démarrer et arrêter la collecte de données
Les paires d'options VSPerfCmd dans la table suivante démarrent et arrêtent la collecte de données. Spécifiez chaque option sur une ligne de commande séparée. Vous pouvez activer et désactiver la collecte de données à plusieurs reprises.
Option
Description
Démarre (/globalon) ou arrête (/globaloff) la collecte de données pour tous les processus.
/processon:PID processoff:PID
Démarre (/processon) ou arrête (/processoff) la collecte de données pour le processus spécifié par l'ID de processus (PID).
/attach commence à collecter des données pour le processus spécifié par l'ID de processus (PID) ou le nom de processus (ProcName). /detach arrête la collecte de données pour le processus spécifié ou pour tous les processus si aucun processus n'est spécifié.
Vous pouvez également utiliser l'option VSPerfCmd.exe /mark pour insérer une marque de profilage dans le fichier de données. La commande /mark ajoute un identificateur, un horodatage et une chaîne de texte facultative définie par l'utilisateur. Les marques peuvent servir à filtrer les données dans les rapports et les vues de données du profileur.
Fin de la session de profilage
Pour terminer une session de profilage, le profileur ne doit pas collecter des données. Vous pouvez cesser de collecter des données d'une application profilée avec la méthode de concurrence en redémarrant le processus de travail ASP.NET ou en appelant l'option VSPerfCmd /detach. Vous appelez alors l'option VSPerfCmd /shutdown pour arrêter le profileur et fermer le fichier de données de profilage. La commande VSPerfClrEnv /globaloff désactive les variables d'environnement de profilage, mais la configuration du système n'est réinitialisée qu'au redémarrage de l'ordinateur.
Pour terminer une session de profilage
Détachez le profileur de l'application cible en le fermant ou en tapant la commande suivante à une invite de commandes :
VSPerfCmd /detach
Arrêtez le profileur en tapant la commande suivante à une invite de commandes :
VSPerfCmd /shutdown
(Facultatif) Effacez les variables d'environnement de profilage en suivant ces étapes :
Tapez la commande suivante à une invite de commandes :
VSPerfCmd /globaloff
Redémarrez l'ordinateur.
Voir aussi
Concepts
Profilage d'applications Web ASP.NET à partir de la ligne de commande