Profilermittlung für Anwendung 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 können eine Profilermittlung für eine Anwendung im Standalone-Modus durchführen, indem Sie den Java-Profilermittlungsagenten aufrufen, bei dem es sich um eine Bibliothek handelt, die einer Java-VM zugeordnet ist und das Verhalten Ihrer 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 und
die Daten aus der Profilerstellungssitzung in einer Datei mit dem Namen PEProfilingData speichern wollen, geben Sie dazu in einer Befehlszeile den folgenden
Befehl ein:
java -XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- Hinweis: Wenn Sie WebSphere
Application Server Version 6 (WAS) im Profilerstellungsmodus von der Befehlszeile starten möchten,
müssen Sie die folgenden Schritte ausführen:
- Wechseln Sie in <Profilstammverzeichnis>/config/cells/<knotenname>Cell/nodes/<knotenname>/servers/server1
- Bearbeiten Sie das Element jvmEntries in der Datei server.xml. In diesem Element befindet sich ein Attribut mit dem
Namen genericJvmArguments. Hängen Sie
-XrunpiAgent:server=enabled an den Attributwert an.
- Starten Sie WAS erneut.
-
- Wenn Sie den Parameter -XrunpiAgent einsetzen, können Sie eine Reihe verschiedener Ausführungsmodi für den Profilagenten angeben. Der Parameter
agent_parm kann einen der 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 Profilermittlungsagenten 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 des Agenten ü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 Profilermittlungsagent 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 Profilermittlungsagent 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 Profilermittlung durch den Profilermittlungsagenten angefordert haben. Zweitens muss sich
der Testclient der Workbench an den Java-Profilermittlungsagenten angehängt und mit der Überwachung begonnen haben.
- Hinweis: Die Profilermittlung wird komplett von der Anwendung über die Klasse org.eclipse.hyades.collection.profiler.Profiler gesteuert.
- profile=profilermittlungsdatei
Diese Option steht nur zur Verfügung wenn server=standalone. Diese Datei spezifiziert die Optionen, die Sie durch die Profilermittlungsfunktion im Standalone-Modus ausführen lassen möchten. Die in dieser Datei angegebenen Optionen werden üblicherweise im Fenster 'Profilermittlungskonfigurationen' eingestellt, wenn der Benutzer einen Java-Prozess aus der Workbench startet; die Verwendung dieser Datei ist eine gleichwertige Methode für die Angabe von Optionen, wenn die Ausführung im Standalone-Modus erfolgt.
Die Datei kann auf zwei Arten geladen werden.
Eine Liste der gültigen Optionen für die Profilermittlungsdatei finden Sie unter Filteroptionen für Standalone-Profilermittlung.
- filters=dateiname
Wird nur in Verbindung mit server=standalone verwendet.
Legt den Namen der Datei mit den anfänglichen Klassenfilterdefinitionen für die
Profilermittlungssitzung 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 Filterdatei sollte drei Felder, Paket/Klasse, Methode und Modus im folgenden Format vorgeben:
Paket/Klasse Methode Modus
Hierbei gilt Folgendes:
- Paket/Klasse
- Dieses Feld wird verwendet, um ein Muster für einen Paket- oder Klassennamen anzugeben.
Das Muster muss als Zeichenfolge ohne eingebettete Leerzeichen angegeben werden. Die Zeichenfolge kann mit einem
einzelnen Stern (*) anfangen oder enden, z.B. *.meinpaket oder org.meinunternehmen.*. Der Stern entspricht einer beliebigen Anzahl an Zeichen.
Dadurch wird aus dem Muster ein generisches Präfix- oder Suffixmuster. Ein einzelner Stern
kann auch stellvertretend für alle Zeichenfolgen angegeben werden.
- Methode
- Dieses Feld wird verwendet, um ein Muster für den Methodennamen anzugeben.
Das Muster muss als Zeichenfolge ohne eingebettete Leerzeichen nach den gleichen Spezifikationsregeln wie für das
Feld Klasse angegeben werden.
- Modus
- Dieses Feld gibt an, ob ein Paket bzw. eine Klasse, die dem Muster entspricht, bei der Profilermittlung ein- oder ausgeschlossen werden soll. 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
Profilermittlungssitzung 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.
Zugehörige Konzepte
Übersicht über Profilermittlungstool
Profilermittlungsressourcen
Zugehörige Tasks
Profilermittlung für Anwendung im Standalone-Modus auf AS/400
Einen Java-Prozess starten oder anhängen
Sicht 'Profilermittlungsüberwachung' verwenden
(C) Copyright IBM Corporation 2000, 2006. Alle Rechte vorbehalten.