Profilage d'une application en mode autonome
Vous pouvez profiler une application en mode autonome (c'est-à-dire, à partir de la ligne de commande), sans installer la plate-forme TPTP (Outils de tests de performance).Cependant, vous devez installer Agent Controller sur la machine sur laquelle l'application à profiler réside.
Pour profiler une application en mode autonome, vous pouvez appeler l'agent de profilage Java qui
correspond à une bibliothèque associée à une machine virtuelle Java (JVM) afin de capturer
et enregistrer le comportement de votre application Java. La sortie de l'agent se présente sous la forme de fragments XML.
Utilisez l'option Java -Xrun pour appeler l'agent de profilage Java :
-XrunpiAgent:agent_parm[,agent_parm]*
Par exemple, pour profiler PerformanceExample.java en recourant aux filtres définis dans le fichier myFilters.txt et en dirigeant les données de la session de profilage vers un fichier appelé PEProfilingData, entrez la commande suivante à partir d'une ligne
de commande :
java -XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- Remarque : Si vous voulez démarrer WebSphere Application Server Version 6 (WAS) en mode de profilage depuis la ligne de commande, procédez comme suit :
- Accédez à <profile root>/config/cells/<nodename>Cell/nodes/<nodename>/servers/server1
- Modifiez l'élément jvmEntries dans le fichier server.xml. Cet élément contient l'attribut genericJvmArguments. Ajoutez
-XrunpiAgent:server=enabled à la valeur d'attribut.
- Redémarrez WAS.
-
- En augmentant le paramètre -XrunpiAgent, vous pouvez spécifier différents modes d'exécution de l'agent de profilage. Le paramètre param_agent peut comporter une des valeurs suivantes :
- server=[standalone | enabled | controlled | application]
- standalone
- L'agent de profilage s'exécute en mode headless, ce qui signifie qu'aucune interaction avec l'agent n'est possible à partir du plan de travail. Des informations de configuration sont fournies à l'aide de fichiers de configuration et les données de profilage sont stockées dans un fichier directement par l'agent de profilage. Le fichier de profilage peut être importé ultérieurement dans le plan de travail.
- L'agent de profilage Java est manuellement associé à une instance JVM et il génère des données de profilage dans un fichier de sortie. Le fichier de sortie par défaut est appelé trace.trcxml ; cependant, vous pouvez indiquer un autre nom de fichier à l'aide du paramètre file= nom_fichier. Lorsque cette option est sélectionnée, l'agent de profilage Java génère un élément traceRoot de délimitation formant un document XML complet et valide.
- enabled (Il s'agit de la valeur par défaut.)
- L'agent de profilage s'exécute en arrière-plan de la JVM sans consommer de ressources tant qu'il n'est pas connecté par le plan de travail et invité à démarrer le contrôle. Les données sont acheminées via le canal de données de l'agent et consommées par le plan de travail.
En d'autres termes, l'agent de profilage Java est chargé et permet l'exécution normale de l'application. Cependant, il ne génère aucune donnée de profilage tant qu'un client n'est pas associé à l'agent pour lui donner des instructions. Lorsque cette option est sélectionnée, l'agent de profilage Java génère uniquement des fragments XML à la place d'un document XML complet.
- controlled
- L'agent de profilage supprime la JVM de l'initialisation (l'agent est chargé mais il empêche l'exécution de l'application) tant qu'il n'est pas associé à partir du plan de travail et tant qu'il n'a pas reçu d'instructions d'un client pour lancer le contrôle.
En d'autres termes, lors du lancement de l'agent de profilage en mode contrôlé, celui-ci semble bloquer la JVM tant qu'il n'est pas invité à lancer le contrôle ; il génère uniquement des fragments XML à la place d'un document XML complet.
- application
- L'agent de profilage Java est chargé. Il s'exécute en arrière-plan et permet l'exécution normale de l'application comme en mode activé.
- Il ne génère des données de profilage que lorsque les deux conditions suivantes sont satisfaites :
Premièrement, l'application doit avoir demandé le démarrage du profilage par l'agent de profilage à l'aide de la classe org.eclipse.hyades.collection.profiler.Profiler ; deuxièmement, le client test du plan de travail doit avoir été associé à l'agent de profilage Java et il doit avoir démarré le contrôle.
- Remarque : la totalité du profilage est contrôlée par l'application, à l'aide de la classe org.eclipse.hyades.collection.profiler.Profiler.
- profile=fichier profil
Cette option n'est applicable que si server=standalone. Ce fichier spécifie les options
d'exécution du profileur lorsque ce dernier est en mode autonome. Les options
spécifiées dans ce fichier sont généralement définies dans la fenêtre des
configurations de profilage lorsque l'utilisateur lance un processus Java à partir du
plan de travail ; l'utilisation de ce fichier revient à spécifier les options lors d'une
exécution en mode autonome.
Ce fichier peut être chargé de deux manières différentes.
Reportez-vous aux options de filtre de profil
autonome pour obtenir la liste des options valides pour le fichier de profil.
- filters=nom_fichier
Utilisé uniquement lorsque serveur=autonome est spécifié.
Indique le nom du fichier contenant les définitions de filtre de classe initiales à utiliser lors de la session de profilage. Le nom de fichier par défaut est filters.txt dans le répertoire en cours. Pour plus
d'informations sur le format de fichier, reportez-vous à la section ci-dessous.
- file=nom_fichier
Utilisé uniquement lorsque serveur=autonome est spécifié.
Indique le nom d'un fichier dans lequel enregistrer les données de profilage. Le nom
de fichier par défaut est trace.trcxml dans le répertoire actuel.
- aide
Affiche la liste des options d'agent disponibles dans STDOUT.
Format du fichier de filtres de classe
Le fichier de filtre doit spécifier trois zones : package/classe, méthode et mode au format suivant :
mode package/classe méthode
où :
- package/classe
- Cette zone permet d'indiquer un mode pour un nom de package ou de classe.
Ce mode doit être une chaîne et ne comporter aucun espace. Le début ou la fin de la chaîne peut contenir un seul astérisque (*). Ex. : *.mypackage ou org.mycompany.*. L'astérisque (*) correspond à zéro ou plusieurs
caractères, ce qui fait du modèle un modèle de suffixe ou de préfixe générique. Un
astérisque (*) unique peut également être indiqué pour représenter toutes les chaînes.
- méthode
- Cette zone permet de spécifier un mode pour le nom de la méthode.
Ce modèle doit être une chaîne ne comportant aucun espace et posséder les mêmes règles de spécification que celles de la zone classe.
- mode
- Cette zone indique si le package ou la classe correspondant au mode doit être ou non inclus dans le profilage. Ce paramètre a pour valeur INCLUDE ou EXCLUDE.
Les modèles de filtre sont traités par ordre de spécification jusqu'à ce que
le premier critère de concordance aboutisse.Si le nom de classe ne correspond à aucun modèle de filtre spécifié, la classe est par défaut incluse (INCLUDE).
Contrôle de l'agent de profilage Java
Lors du démarrage de l'agent de profilage Java avec le paramètre server=enabled ou server=controlled, les communications de l'agent s'effectuent via le plan de travail client à l'aide du Contrôleur d'agent sur la machine hôte.
Remarques
- Si vous n'indiquez aucun nom de fichier de définition de filtre sur la ligne de commande, l'agent de profilage Java essaie de lire les filtres à partir du fichier intitulé filters.txt dans le répertoire actuel. Si le fichier filters.txt n'existe pas, aucun filtre n'est utilisé lors de la session de profilage. Si vous nommez le fichier de filtres filters.txt et que vous le placez dans le répertoire actuel, il n'est pas nécessaire d'indiquer le paramètre de filtre sur la ligne de commande pour les filtres qui seront utilisés par l'agent de profilage.
- Si vous ne spécifiez aucun fichier de sortie pour les données de profilage, celles-ci seront sauvegardées dans le fichier trace.trcxml.
- Il n'est pas nécessaire d'indiquer une extension pour le fichier de sortie. Ce dernier reçoit automatiquement l'extension .trcxml.
- Il n'est pas nécessaire d'indiquer l'extension de l'application Java. Il peut s'agir d'un fichier .class.
Concepts connexes
Présentation de l'outil de profilage
Ressources de profilage
Tâches connexes
Profilage d'une application en mode autonome sous AS/400
Lancement ou association d'un processus Java
Utilisation de la vue Moniteur de profilage
(C) Copyright IBM Corporation 2000, 2006. Tous droits réservés.