Comment : instrumenter une application Web ASP.NET compilée statiquement et collecter des données de mémoire en utilisant la ligne de commande du profileurHow to: Instrument a Statically Compiled ASP.NET Web Application and Collect Memory Data by Using the Profiler Command Line

Cette rubrique explique comment utiliser les outils en ligne de commande des Outils de profilage Visual StudioVisual Studio pour instrumenter un composant web ou un site web ASP.NETASP.NET précompilé, et pour collecter des données d’allocation de mémoire .NET, des données de durée de vie des objets et des données chronologiques détaillées.This topic describes how to use Visual StudioVisual Studio Profiling Tools command-line tools to instrument a pre-compiled ASP.NETASP.NET Web component or Web site and collect .NET memory allocation, object lifetime, and detailed timing data.

Note

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 StudioVisual Studio.Command-line tools of the Profiling Tools are located in the \Team Tools\Performance Tools subdirectory of the Visual StudioVisual Studio installation directory. Les versions 64 bits et 32 bits des outils sont disponibles sur les ordinateurs 64 bits.On 64 bit computers, both 64 bit and 32 bit versions of the tools are available. Pour utiliser les outils en ligne de commande du profileur, vous devez ajouter le chemin des outils à la variable d’environnement PATH dans la fenêtre d’invite de commandes, ou l’ajouter à la commande.To use the profiler command-line tools, you must add the tools path to the PATH environment variable of the command prompt window or add it to the command itself. Pour plus d’informations, consultez Spécification du chemin d’accès aux outils en ligne de commande.For more information, see Specifying the Path to Command Line Tools.

Pour collecter des données d’un composant web ASP.NETASP.NET avec la méthode d’instrumentation, vous utilisez l’outil VSInstr.exe pour générer une version instrumentée du composant.To collect data from a ASP.NETASP.NET Web component by using the instrumentation method, you use the VSInstr.exe tool to generate an instrumented version of the component. Sur l’ordinateur qui héberge le composant, vous remplacez la version non instrumentée du composant par la version instrumentée.On the computer that hosts the component, you replace the non-instrumented version of the component with the instrumented version. Vous utilisez ensuite l’outil VSPerfCLREnv.cmd pour initialiser les variables d’environnement de profilage globales et redémarrer l’ordinateur hôte.You then use the VSPerfCLREnv.cmd tool to initialize the global profiling environment variables and restart the host computer. Vous démarrez ensuite le profileur.You then start the profiler.

Quand le composant instrumenté est exécuté, les données chronologiques sont collectées automatiquement dans un fichier de données.When the instrumented component is executed, timing data is automatically collected to a data file. Vous pouvez suspendre et reprendre la collecte des données pendant la session de profilage.You can pause and resume data collection during the profiling session.

Pour mettre fin à une session de profilage, vous fermez le processus de travail ASP.NETASP.NET qui héberge le composant, puis vous arrêtez explicitement le profileur.To end a profiling session, you close the ASP.NETASP.NET worker process that hosts the component and then explicitly shut down the profiler. Dans la plupart des cas, nous vous recommandons de désactiver les variables d’environnement de profilage à la fin d’une session.In most cases, we recommend clearing the profiling environment variables at the end of a session.

Démarrage du profilageStarting to Profile

Pour instrumenter un composant web ASP.NET et démarrer le profilageTo instrument an ASP.NET Web component and start profiling

  1. Utilisez l’outil VSInstr pour générer une version instrumentée de l’application cible.Use the VSInstr tool to generate an instrumented version of the target application. Si nécessaire, remplacez les fichiers binaires de l’application sur l’ordinateur hôte ASP.NET avec les fichiers binaires instrumentés.If necessary, replace the application binaries on the ASP.NET host computer with the instrumented binaries.

  2. Ouvrez une fenêtre d’invite de commandesOpen a command prompt window

  3. Initialisez les variables d’environnement du profilage .NET.Initialize the .NET profiling environment variables. Dans une fenêtre d’invite de commandes, tapez :In a command prompt window, type:

    VSPerfClrEnv /globaltracegcVSPerfClrEnv /globaltracegc

    - ou --or-

    VSPerfClrEnv /globaltracegclifeVSPerfClrEnv /globaltracegclife

    • /globaltracegc collecte les données chronologiques et d’allocation de mémoire .NET./globaltracegc collects .NET memory allocation and timing data.

    • /globaltracegclife collecte les données chronologiques, d’allocation de mémoire .NET. et de durée de vie des objets./globaltracegclife collects .NET memory allocation, object lifetime, and detailed timing data.

  4. Redémarrez l'ordinateur.Restart the computer.

  5. Ouvrez une fenêtre d’invite de commandes.Open a command prompt window.

  6. Démarrez le profileur.Start the profiler. Dans une fenêtre d’invite de commandes, tapez :In a command prompt window, type:

    VSPerfCmd /start:trace /output: OutputFile [Options]VSPerfCmd /start:trace /output: OutputFile [Options]

    • L’option /start:trace initialise le profileur.The /start:trace option initializes the profiler.

    • L’option /output:OutputFile est nécessaire avec /start.The /output:OutputFile option is required with /start. OutputFile spécifie le nom et l’emplacement du fichier de données profilage (.vsp).OutputFile specifies the name and location of the profiling data (.vsp) file.

      Vous pouvez utiliser l’une des options suivantes avec l’option /start:trace.You can use any of the following options with the /start:trace option.

    Note

    Les options /user et /crosssession sont généralement nécessaires pour les applications ASP.NET.The /user and /crosssession options are usually required for ASP.NET applications.

    OptionOption DescriptionDescription
    /user :[Domain\]UserName/user :[Domain\]UserName Spécifie le nom de domaine et d’utilisateur facultatif du compte propriétaire du processus de travail ASP.NET.Specifies the optional domain and user name of the account that owns the ASP.NET worker process. Cette option est obligatoire si le processus s’exécute sous un compte d’utilisateur différent de celui de l’utilisateur connecté. Le nom est répertorié dans la colonne Nom d’utilisateur sous l’onglet Processus du Gestionnaire des tâches de Windows.This option is required if the process is running as a user that is different than the logged on user.The name is listed in the User Name column on the Processes tab of Windows Task Manager.
    /crosssession/crosssession Active le profilage des processus dans d’autres sessions.Enables profiling of processes in other sessions. Cette option est nécessaire si l’application s’exécute dans une autre session.This option is required if the application is running in a different session. L’ID de session est répertorié dans la colonne ID de session, sous l’onglet Processus du gestionnaire des tâches de Windows.The session id is listed in the Session ID column on the Processes tab of Windows Task Manager. /CS peut être spécifié comme abréviation de /crosssession./CS can be specified as an abbreviation for /crosssession.
    /wincounter : WinCounterPath/wincounter : WinCounterPath Spécifie le compteur de performances Windows dont les données doivent être collectées au cours du profilage.Specifies a Windows performance counter to be collected during profiling.
    /automark : Interval/automark : Interval À utiliser avec /wincounter uniquement.Use with /wincounter only. Spécifie le nombre de millisecondes écoulées entre les événements de collecte du compteur de performances Windows.Specifies the number of milliseconds between Windows performance counter collection events. La valeur par défaut est de 500 ms.Default is 500 ms.
    /events : Config/events : Config Spécifie l’événement du Suivi d’événements pour Windows (ETW) qui doit être collecté au cours du profilage.Specifies an Event Tracing for Windows (ETW) event to be collected during profiling. Les événements ETW sont collectés dans un fichier séparé (.etl).ETW events are collected in a separate (.etl) file.
    /globaloff/globaloff Pour démarrer le profileur après avoir suspendu la collecte de données, ajoutez l’option /globaloff sur la ligne de commande /start.To start the profiler with data collection paused, add the /globaloff option to the /start command line. Utilisez /globalon pour reprendre le profilage.Use /globalon to resume profiling.
  7. Ouvrez le site web qui contient le composant instrumenté.Open the Web site that contains the instrumented component.

Contrôle de la collection de donnéesControlling Data Collection

Pendant l’exécution de l’application cible, vous pouvez contrôler la collecte des données en démarrant et en arrêtant l’écriture des données dans le fichier à l’aide des options de VSPerfCmd.exe.While the target application is running, you can control data collection by starting and stopping the writing of data to the file by using VSPerfCmd.exe options. Le fait de pouvoir contrôler la collecte vous permet de collecter des données pour une phase spécifique de l’exécution du programme, telle que le démarrage ou l’arrêt de l’application.Controlling data collection enables you to collect data for a specific part of program execution, such as starting or shutting down the application.

Pour démarrer et arrêter la collecte de donnéesTo start and stop data collection

  • Les paires d’options suivantes permettent de démarrer et d’arrêter la collecte des données.The following pairs of options start and stop data collection. Spécifiez chaque option sur une ligne de commande distincte.Specify each option on a separate command line. Vous pouvez activer et désactiver la collecte de données à plusieurs reprises.You can turn data collection on and off multiple times.

    OptionOption DescriptionDescription
    /globalon /globaloff/globalon /globaloff Démarre (/globalon) ou arrête (/globaloff) la collecte des données pour tous les processus.Starts (/globalon) or stops (/globaloff) data collection for all processes.
    /processon : PID /processoff : PID/processon : PID /processoff : PID Démarre (/processon) ou arrête (/processoff) la collecte des données pour le processus spécifié par l’ID de processus (PID).Starts (/processon) or stops (/processoff) data collection for the process specified by the process ID (PID).
    /threadon : TID /threadoff : TID/threadon : TID /threadoff : TID Démarre (/threadon) ou arrête (/threadoff) la collecte des données pour le thread spécifié par l’ID de thread (TID).Starts (/threadon) or stops (/threadoff) data collection for the thread specified by the thread ID (TID).

Fin d’une session de profilageEnding the Profiling Session

Pour terminer une session de profilage, fermez l’application web ASP.NETASP.NET, puis utilisez la commande IISReset d’Internet Information Services (IIS) pour fermer le processus de travail ASP.NETASP.NET.To end a profiling session, close the ASP.NETASP.NET Web application, and then use the Internet Information Services (IIS) IISReset command to close the ASP.NETASP.NET worker process. Appelez l’option VSPerfCmd /shutdown pour désactiver le profileur et fermez le fichier de données de profilage.Call the VSPerfCmd /shutdown option to turn the profiler off and close the profiling data file. La commande VSPerfClrEnv /globaloff efface les variables d’environnement du profilage.The VSPerfClrEnv /globaloff command clears the profiling environment variables. Vous devez redémarrer l’ordinateur pour que les nouveaux paramètres d’environnement soient appliqués.You must restart the computer for the new environment settings to be applied.

Pour terminer une session de profilageTo end a profiling session

  1. Fermez l’application web ASP.NETASP.NET.Close the ASP.NETASP.NET Web application.

  2. Fermez le processus de travail ASP.NETASP.NET.Close the ASP.NETASP.NET worker process. Type :Type:

    IISReset /stopIISReset /stop

  3. Fermez le profileur.Shut down the profiler. Type :Type:

    VSPerfCmd /shutdownVSPerfCmd /shutdown

  4. (Facultatif).(Optional). Effacez les variables d’environnement de profilage.Clear the profiling environment variables. Type :Type:

    VSPerfCmd /globaloffVSPerfCmd /globaloff

  5. Redémarrez l'ordinateur.Restart the computer. Si nécessaire, redémarrez IIS.If necessary, restart IIS. Type :Type:

    IISReset /startIISReset /start

Voir aussiSee Also

Profilage d’applications web ASP.NET Profiling ASP.NET Web Applications
Vues de données de mémoire .NET.NET Memory Data Views