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 avoir installé les outils Hyades. Cependant, vous devez installer Agent Controller sur la machine sur laquelle l'application à profiler réside.
Pour profiler une application en mode autonome, appelez l'agent de profilage Java qui correspond à une bibliothèque associée à une machine virtuelle Java (JVM) pour capturer et enregistrer le comportement de votre application Java.La sortie de l'agent est 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 à l'aide des 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
- En augmentant le paramètre -XrunpiAgent, vous pouvez spécifier plusieurs modes différents pour l'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é dans le plan de travail ultérieurement.
- L'agent de profilage Java est manuellement associé à une instance JVM et il génère des données de profilage vers un fichier de sortie. Le fichier de sortie par défaut est appelé trace.trcxml ; cependant, vous pouvez indiquer un nom de fichier différent à 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 forant 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 d'Agent Controller 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 remplies :
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.
- 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 en cours.
- help
Affiche dans la sortie stdout la liste des options d'agent disponibles.
Format du fichier de filtres de classe
Voici le format du fichier :
pattern mode
où :
- pattern
- Chaîne ne comportant aucun caractère blanc.Un astérisque (*) peut figurer au début ou à la fin de cette chaîne.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.
- mode
- Indique si la classe correspondant au modèle doit être incluse dans le profilage ou incluse dans cette dernière. Le paramètre mode a pour valeur INCLUDE ou EXCLUDE.
Les modèles de filtre sont traités dans l'ordre de leur 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 doit par défaut est 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 d'Agent Controller sur la machine hôte.
Remarques
- Si vous n'indiquez pas un 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 en cours. 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 en cours, il n'est pas nécessaire d'indiquer le paramètre filters sur la ligne de commande pour les filtres à utiliser par l'agent de profilage.
- Si vous ne spécifiez pas de 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
Vue Moniteur de profilage
Vue Journal
Tâches connexes
Lancement ou association d'un processus Java
Utilisation des agents
Ouverture de plusieurs perspectives Profilage et journalisation
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.