Comment : profiler des services à l'aide des outils de ligne de commande
Mise à jour : novembre 2007
Un service est un programme qui s'exécute en arrière-plan du système d'exploitation et fournit une assistance pour les fonctionnalités de système d'exploitation. Les exemples incluent le service Telnet et le service ASP.NET. Un service ne peut pas être exécuté à partir de Visual Studio ; il doit s'exécuter dans le contexte du Gestionnaire de contrôle des services. Par conséquent, le profilage d'un service n'est pas aussi simple que celui des autres types d'applications Visual Studio.
Remarque importante : |
---|
Vous devez installer le service pour pouvoir le profiler. Pour plus d'informations, consultez Comment : installer et désinstaller des services. |
Vous pouvez profiler un service natif à l'aide des outils de ligne de commande VSPerfCmd, VSInstr et VSPerfMon. Pour profiler des services managés, vous devez suivre des étapes supplémentaires qui sont requises pour installer l'environnement du Common Language Runtime. Les procédures suivantes répertorient le processus que vous devez suivre.
Pour profiler un service managé à l'aide de l'échantillonnage
Installez le service. Pour plus d'informations, consultez Comment : installer et désinstaller des services.
Ouvrez une fenêtre de ligne de commande. À l'invite de commandes, exécutez la commande suivante :
c:\<path>VSPerfClrEnv /globalsampleon
Cette opération installera les variables d'environnement indispensables pour profiler les services managés.
Redémarrez l'ordinateur.
Utilisez le Gestionnaire de contrôle des services pour vérifier que le service s'exécute après l'installation. Pour plus d'informations, consultez Comment : démarrer des services.
Ensuite, exécutez la commande suivante :
c:\<path>VSPerfCmd /start:sample /output:filename
Le profileur démarre en mode échantillonnage. L'option /output crée un fichier .VSP pour stocker les données de performance.
Remarque importante : Vous devrez éventuellement inclure l'option /USER pour autoriser l'accès client au gestionnaire à partir du compte spécifié.
Ensuite, exécutez la commande suivante pour attacher le processus :
c:\<path>VSPerfCmd /attach:pid | name
L'option /attach attache le service à l'aide de l'identificateur de processus (pid) ou du nom de processus (name).
Pour terminer la session, détachez le processus en exécutant la commande suivante :
c:\<path>VSPerfCmd /detach:pid | name
Vous pouvez également arrêter le service ou le processus hébergeant le service dans un processus multiservice.
Ensuite, exécutez la commande suivante pour arrêter le profileur :
c:\<path>VSPerfCmd /shutdown
L'option /shutdown force l'outil VSPerfCmd à attendre que les applications surveillées s'arrêtent, puis arrête VSPerfMon.exe et attend la fin de la procédure d'arrêt.
Ensuite, utilisez la commande suivante pour supprimer les variables d'environnement requises pour profiler les services managés.
C:\<path>VSPerfClrEnv /globaloff
Redémarrez l'ordinateur.
Pour profiler un service managé à l'aide de l'instrumentation
Instrumentez votre service à l'aide de l'outil VSInstr.exe. Pour plus d'informations, consultez VSInstr.
Installez le service. Pour plus d'informations, consultez Comment : installer et désinstaller des services.
Remarque : Le service doit être configuré comme « manuel ». Il ne doit pas démarrer automatiquement. Vous démarrerez le service à l'étape 6.
Ouvrez une fenêtre de ligne de commande. À l'invite de commandes, exécutez la commande suivante :
c:\<path>VSPerfClrEnv /globaltraceon
Cette opération installera les variables d'environnement requises pour profiler les services managés.
Redémarrez l'ordinateur.
Ensuite, exécutez la commande suivante :
c:\<path>VSPerfCmd /start:trace /output:filename
Le profileur démarre le mode d'instrumentation. L'option /OUTPUT crée un fichier .VSP pour stocker les données de performance.
Remarque importante : Vous devrez éventuellement inclure l'option /USER pour autoriser l'accès client au gestionnaire à partir du compte spécifié.
Utilisez le Gestionnaire de contrôle des services pour vérifier que le service s'exécute après l'installation. Pour plus d'informations, consultez Comment : démarrer des services.
Remarque importante : Lorsque le service démarre et que l'analyseur de performances est en cours d'exécution, le service s'attache à l'analyseur de performances. Si le service est déjà en cours d'exécution lorsque l'analyseur de performances est lancé, la possibilité d'effectuer un attachement est ratée.
Pour terminer l'instrumentation, arrêtez le service.
Ensuite, exécutez la commande suivante :
c:\<path>VSPerfCmd /shutdown
L'option /shutdown force l'outil VSPerfCmd à attendre que les applications surveillées s'arrêtent, puis arrête VSPerfMon.exe et attend la fin de la procédure d'arrêt.
Ensuite, utilisez la commande suivante pour supprimer les variables d'environnement requises pour profiler les services managés :
c:\<path>VSPerfClrEnv /globaloff
Redémarrez l'ordinateur.