Erstellen eines Anwendungsprofils im Standalone-Modus
Sie können ein Profil einer Anwendung im Standalone-Modus erstellen (also von der Befehlszeile aus), ohne die Hyades-Tools
installiert zu haben. Dazu muss jedoch der Agent Controller auf der Maschine installiert sein,
auf der sich Anwendung befindet, für die Sie ein Profil erstellen möchten.
Sie erstellen ein Anwendungsprofil im Standalone-Modus, indem Sie den Java
Profiling Agent aufrufen. Dabei handelt es sich um eine Bibliothek, die sich an eine
JVM (Java Virtual Machine) anhängt und das Verhalten der Java-Anwendung aufzeichnet. Die
Ausgabe des Agenten erfolgt in Form von XML-Fragmenten.
Verwenden Sie die Java-Option -Xrun, um den Java Profiling Agent aufzurufen:
-XrunpiAgent:agent_parm[,agent_parm]*
Wenn Sie beispielsweise ein Profil von PerformanceExample.java erstellen möchten, und dabei Filter aus der Datei myFilters.txt verwenden möchten und
die Daten aus der Profilerstellungssitzung in einer Datei mit dem Namen PEProfilingData speichern möchten, geben Sie dazu in einer Befehlszeile den folgenden
Befehl ein:
java -XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- Wenn Sie den Parameter -XrunpiAgent einsetzen, können Sie eine Reihe verschiedener Ausführungsmodi für den Profilagenten angeben. Der Parameter
agent_parm kann die folgenden Werte annehmen:
- server=[standalone | enabled | controlled | application]
- standalone
- Der Profilagent wird im automatischen Modus ausgeführt. Dabei ist keine Interaktion
mit dem Agenten in der Workbench möglich. Konfigurationsdaten werden über Konfigurationsdateien
zur Verfügung gestellt und die Profildaten werden vom Profilagenten direkt in einer Datei gespeichert.
Die Profildatei kann dann zu einem späteren Zeitpunkt in die Workbench importiert werden.
- Der Java Profiling Agent wird manuell an eine JVM-Instanz angehängt und generiert Profildaten
in einer Ausgabedatei. Die Standardausgabedatei hat den Namen trace.trcxml, Sie können aber
über den Parameter filename einen anderen Namen festlegen. Wenn diese Option ausgewählt
ist, erzeugt der Java Profiling Agent ein einkapselndes traceRoot-Element, damit ein vollständiges
und gültiges XML-Dokument entsteht.
- enabled (Standardeinstellung)
- Der Profilagent läuft im Hintergrund der JVM, wobei bis zum Verbindungsaufbau
mit der Workbench und dem Beginn der Überwachung keine Ressourcen verbraucht werden.
Die Daten werden dann über den Datenkanal von Agent Controller übertragen und
von der Workbench verarbeitet.
Der Java Profiling Agent wird also geladen und ermöglicht eine normale Ausführung
der Anwendung, wobei keine Profildaten erzeugt werden, bis sich ein Client an den
Agenten anhängt und diesem Anweisungen gibt. Wenn diese Option ausgewählt ist,
erzeugt der Java Profiling Agent nur XML-Fragmente anstelle von vollständigen XML-Dokumenten.
- controlled
- Der Profilagent kommt der JVM-Initialisierung zuvor (der Agent wird geladen,
blockiert aber die Ausführung der Anwendung) und gibt diese erst wieder frei,
wenn er an die Workbench angehängt wird und von einem Client Anweisungen zum Starten
der Überwachung bekommt.
Wenn der Profilagent also im kontrollierten Modus gestartet wird, blockiert er die JVM,
bis er zum Starten der Überwachung aufgefordert wird. Dabei erzeugt er lediglich XML-Fragmente,
jedoch keine vollständigen XML-Dokumente.
- application
- Der Java Profiling Agent wird geladen, im Hintergrund ausgeführt und gestattet die normale
Ausführung der Anwendung wie im Modus 'enabled'.
- Es werden nur Profildaten erzeugt, wenn zwei Bedingungen erfüllt sind.
Zunächst muss die Anwendung über org.eclipse.hyades.collection.profiler.Profiler
den Start der Profilerstellung durch den Profilagenten angefordert haben. Zweitens muss sich
der Testclient der Workbench an den Java Profiling Agent angehängt und mit der Überwachung begonnen haben.
- Hinweis: Die Profilerstellung wird komplett von der Anwendung über die Klasse org.eclipse.hyades.collection.profiler.Profiler gesteuert.
- filters=Dateiname
Wird nur in Verbindung mit server=standalone verwendet.
Legt den Namen der Datei mit den anfänglichen Klassenfilterdefinitionen für die
Profilerstellungssitzung fest. Der Standarddateiname ist filters.txt im aktuellen
Verzeichnis. Weiter unten finden Sie Informationen zum Dateiformat.
- file=Dateiname
Wird nur in Verbindung mit server=standalone verwendet.
Gibt den Namen der Datei an, in die die Profildaten geschrieben werden. Der Standardwert
ist trace.trcxml im aktuellen Verzeichnis.
- help
Zeigt eine Liste der verfügbaren Agentenoptionen auf stdout an.
Formatieren der Klassenfilterdatei
Die Datei hat das folgende Format:
Muster Modus
Hierbei gilt folgendes:
- Muster
- Eine Zeichenfolge ohne eingebettete Leerzeichen. Die Zeichenfolge kann mit einem
Stern (*) anfangen oder enden. Der * stimmt mit einer beliebigen Anzahl Zeichen überein.
Dadurch wird aus dem Muster ein generisches Präfix oder ein Suffixmuster. Ein alleinstehender *
kann stellvertretend für beliebige Zeichenfolgen angegeben werden.
- Modus
- Legt fest, ob die Klasse, die mit dem Muster übereinstimmt, von der Profilerstellung
ausgeschlossen oder in die Profilerstellung eingeschlossen wird. Die gültigen Werte für den Modus
sind INCLUDE und EXCLUDE.
Filtermuster werden in der Reihenfolge verarbeitet, in der sie angegeben werden, bis der
erste Mustervergleich erfolgreich ist. Stimmt der Klassenname mit keinem der
angegebenen Filtermuster überein, wird die Klasse in der Standardeinstellung eingeschlossen
(INCLUDE).
Steuerung von Java Profiling Agent
Wenn der Java Profiling Agent mit einem der Parameter server=enabled
oder server=controlled gestartet wird, findet die Kommunikation
mit dem Agenten über die Client-Workbench durch den Agent Controller auf der Hostmaschine
statt.
Hinweise
- Wenn Sie den Namen der Filterdefinitionsdatei nicht in der Befehlszeile angeben,
versucht der Java Profiling Agent, die Filter aus der Datei filters.txt im aktuellen
Verzeichnis zu lesen. Ist die Datei filters.txt nicht vorhanden, werden in der
Profilerstellungssitzung keine Filter verwendet. Wenn Sie Ihre Filterdatei
filters.txt nennen und im aktuellen Verzeichnis ablegen, brauchen Sie den Parameter
'filters' nicht in der Befehlszeile anzugeben.
- Wenn Sie keine Ausgabedatei für die Profildaten angeben, werden die Daten in der Datei
trace.trcxml gespeichert.
- Sie brauchen für die Ausgabedatei keine Dateierweiterung angeben. Die Datei erhält automatisch
die Erweiterung .trcxml.
- Sie müssen die Erweiterung Ihrer Java-Anwendung nicht angeben. Es kann sich um eine .class-Datei handeln.
Verwandte Konzepte
Übersicht zum Profilerstellungstool
Profilressourcen
Sicht 'Profilmonitor'
Sicht 'Protokoll'
Verwandte Tasks
Einen Java-Prozess starten oder anhängen
Mit Agenten arbeiten
Mehrere Profilerstellungs- und Protokollierungsperspektiven öffnen
(C) Copyright IBM Corporation 2000, 2003. Alle Rechte vorbehalten.