Tools für Profilerstelllung und Protokollierung - Release-Informationen

Komponente der Tools für die Profilerstelllung und Protokollierung - Release-Informationen

1.0 Einschränkungen
   1.1 Vorgehensweise zum Öffnen der Konsolsicht in der Perspektive für die Profilerstelllung und Protokollierung
   1.2 Probekit: Nutzen der Auswahl der UTF-8-Codierung für Probekit-Quellendateien überprüfen
   1.3 Analyse von Kapazitätsmängeln: Funktion für die Analyse von Kapazitätsmängeln unter OS/400 iSeries(TM) nicht verfügbar
   1.4 Tipps zur Profilerstelllung Ihrer Anwendung
   1.5 Analyse von Kapazitätsmängeln: Unerwartete Funktionsweise beim Senden von Profilerstelllungsdaten an eine Datei
   1.6 Analyse von Kapazitätsmängeln: Erstellung von OORG (Open Object Reference Graph) bei Verarbeitung von Heapspeicherauszügen für IBM(C) OS/390® (SVC) sehr zeitaufwändig
   1.7 Analyse von Kapazitätsmängeln: Speicherposition und Verwaltung von Hyades Optimized-Heapspeicherauszugsdateien
   1.8 Analyse von Kapazitätsmängeln: Protokolldatei für die Analyse von Kapazitätsmängeln
   1.9 Analyse von Kapazitätsmängeln: RADLEAKJVMSIZE zur Analyse sehr umfangreicher Heapspeicher definieren
   1.10 Threadanalyse: Feststellung von gegenseitigen Sperren bei IBM JRE 1.4.2 nicht möglich
2.0 Bekannte Probleme
   2.1 Probekit: Verwendung von Nicht-ASCII-Zeichen in Probekit-Quellendateinamen nicht zulässig
   2.2 Probekit: Probekit-Quellendateien erstellen
   2.3 Probekit: Nicht-ASCII-Zeichen in Probekit-Zielspezifikationen
   2.4 Geltungsbereich von Methode und auf Zeilenebene: 'flush on method' mit Nicht-ASCII-Zeichen
   2.5 Geltungsbereich von Methode und auf Zeilenebene: EXCLUDE-Filter dürfen nicht mit Platzhalterzeichen beginnen
   2.6 Analyse von Kapazitätsmängeln: Keine Unterstützung für mit J9-JVM erstellte IBM Heapspeicherauszüge
   2.7 Analyse von Kapazitätsmängeln: Angabe neuer Projekt- oder Überwachungskomponente beim Importieren von Heapdateien erforderlich
   2.8 Geltungsbereich auf Zeilenebene, Probekit: Neustart von Projekt zur Erfassung von Daten aus bereits geladenen Klassen erforderlich
   2.9 Doppelbytezeichen werden in der Konsolensicht nicht angezeigt
   2.10 Analyse von Kapazitätsmängeln: Systemabsturz bei der Profilerstelllung für Applets mit IBM JVM
   2.11 Analyse von Kapazitätsmängeln: Ländereinstellung für Analyse muss mit Ländereinstellung für Datenerfassung übereinstimmen
   2.12 Threadanalyse: Fehlende Threadeigner bei Sperren in IBM JRE bis Version 1.4.1
   2.13 Risiko des Systemabsturzes für JVM von Sun bei ferner Profilerstelllung unter Solaris

Komponente der Tools für die Profilerstelllung und Protokollierung - Release-Informationen

1.0 Einschränkungen

1.1 Vorgehensweise zum Öffnen der Konsolsicht in der Perspektive für die Profilerstelllung und Protokollierung

Wenn Sie ein Anwendungsprofil erstellen, wird die Konsolsicht nicht standardmäßig in der Perspektive für die Profilerstelllung und Protokollierung angezeigt.

Zum Öffnen der Konsolsicht in der Perspektive für die Profilerstelllung und Protokollierung müssen Sie "Fenster-> Sicht anzeigen-> Konsole" auswählen.

Um die Standardausgabe (stdout) an der Konsole anzuzeigen, müssen Sie auf "Fenster-> Vorgaben-> Ausführen/Debug-> Konsole" klicken und dann die Option zum Anzeigen, wenn Programm in Standardausgabe schreibt auswählen.

1.2 Probekit: Nutzen der Auswahl der UTF-8-Codierung für Probekit-Quellendateien überprüfen

Bei der Erstellung einer neuen Probekit-Quellendatei können Sie im Assistenten die zu verwendende XML-Codierung auswählen. Die Standardauswahl lautet ASCII. Wenn Sie innerhalb der Test-Monitor-Quellendatei Nicht-ASCII-Zeichen verwenden wollen (z. B. in den Feldern für die Bezeichnung oder die Beschreibung oder im Java-Code eines Fragments), müssen Sie an Stelle der ASCII-Codierung die UTF-8-Codierung verwenden.

Um die Codierung einer vorhandenen Test-Monitor-Quellendatei zu ändern, klicken Sie mit der rechten Maustaste auf die gewünschte Datei und wählen dann "Öffnen mit -> Texteditor" aus. Ändern Sie die Codierungsangabe im XML-Header in "UTF 8", sichern und schließen Sie die Datei. Klicken Sie erneut mit der rechten Maustaste, und wählen Sie "Öffnen mit -> Editor für den Test-Monitor" aus, um den Inhalt der Datei zu bearbeiten.

1.3 Analyse von Kapazitätsmängeln: Funktion für die Analyse von Kapazitätsmängeln unter OS/400 iSeries(TM) nicht verfügbar

Die Funktion für die Analyse von Kapazitätsmängeln steht für Benutzerprogramme, die unter OS/400® iSeries(TM) ausgeführt werden, nicht zur Verfügung. Die auf dieser Plattform generierten Hyades Optimized-Heapspeicherauszüge sind unvollständig, und es ist nicht möglich, Heapspeicherauszüge in einem anderen Format zu generieren.

1.4 Tipps zur Profilerstelllung Ihrer Anwendung

Die Leistung der Profilerstelllungstools steht in direktem Bezug zum erfassten Datenvolumen und zu der Geschwindigkeit, mit der diese Daten an die Workbench übertragen werden. Wenn das erfasste Datenvolumen ansteigt, stellt der Benutzer eine reduzierte Systemleistung in Bezug auf die Analysezeiten und auf den Speicherplatz fest, der zur Ausführung verschiedener Tasks verfügbar ist. Die Systemleistung bei der Profilerstelllung kann durch verschiedene Maßnahmen verbessert werden.

1.5 Analyse von Kapazitätsmängeln: Unerwartete Funktionsweise beim Senden von Profilerstelllungsdaten an eine Datei

Bei der Erfassung der binären Hyades Optimized-Heapspeicherauszüge sollten Sie folgende Punkte beachten, wenn die Daten durch Auswahl des Markierungsfelds zum Senden der Profilerstelllungsdaten an eine Datei in einer trcxml-Datei aufgezeichnet werden sollen:

Agent Controller muss auf dem Implementierungshost aktiv sein, damit Sie auf die Heapdateien zugreifen können, die hier gespeichert werden. Wenn Sie die Option "Importieren-> Profilerstelllungsdatei" zum ersten Mal für die trcxml-Datei ausführen, dann arbeiten die Funktionen zur Analyse von Kapazitätsmängeln und zur ORG-Anzeige (ORG = Object Reference Graphs) wie erwartet.

Bei der zweiten Verwendung der Option "Importieren-> Profilerstelllungsdatei" funktioniert die Importoperation fehlerfrei, die Ausführung der Funktion zur Analyse von Kapazitätsmängeln oder zur ORG-Anzeige schlägt jedoch möglicherweise fehl.Dies ist darauf zurückzuführen, dass die erforderlichen Heapdateien auf dem Implementierungshost möglicherweise nicht mehr zur Verfügung stehen.

Tritt dieses Problem auf, rufen Sie die Heapdateien über das Projekt auf, in das die trcxml-Datei zum ersten Mal importiert wurde. Die Heapdateien befinden sich im Verzeichnis mit dem Namen "leakanalysisheapdir", das unterhalb des Projektverzeichnisses angelegt ist.

1.6 Analyse von Kapazitätsmängeln: Erstellung von OORG (Open Object Reference Graph) bei Verarbeitung von Heapspeicherauszügen für IBM(C) OS/390 (SVC) sehr zeitaufwendig

Die Heapspeicherauszüge für IBM(C) OS/390 (SVC) sind sehr umfangreich. Das Aufheben der Komprimierung zur Anzeige dieser Heapspeicherauszüge in der ORG-Sicht kann deswegen sehr viel Zeit in Anspruch nehmen. Aus diesem Grund kann sich für den Benutzer der Eindruck ergeben, dass die Operation blockiert ist. Es ist in diesem Fall allerdings möglich, dass die Workbench immer noch mit der Dekomprimierung des Heapspeicherauszugs beschäftigt ist, die Statusanzeige für den Verarbeitungsfortschritt jedoch bei 100 % blockiert zu sein scheint.

1.7 Analyse von Kapazitätsmängeln: Speicherposition und Verwaltung von Hyades Optimized-Heapspeicherauszugsdateien

Bei der Erfassung eines Heapspeicherauszugs werden auf dem Host, auf dem die Zielanwendung implementiert ist, Hyades Optimized-Heapspeicherauszüge generiert. Das Zielverzeichnis für den Heapspeicherauszug wird mit Hilfe der Einstellung für LOCAL_AGENT_TEMP_DIR in der Konfigurationsdatei "serviceconfig.xml" des Agent Controller gesteuert. Weitere Informationen zum Suchen und Ändern dieser Datei finden Sie im Hilfethema zur Verwaltung von Agent Controller unter den Angaben zur Feststellung und Analyse von Laufzeitproblemen.

Wenn die Fehlernachricht "Dekomprimierung des Heapspeicherauszugs fehlgeschlagen in Schritt: ...Datei wird gelesen" ("Expand Heap Dump failed in step: ...Reading file") oder "Analyse von Kapazitätsmängeln fehlgeschlagen in Schritt: Erstellung von Heap-ORG läuft" ("Leak Analysis failed in step: Creating heap object reference graph") ausgegeben wird, sollten Sie sich vergewissern, dass Agent Controller auf dem Implementierungshost ausgeführt wird, und anschließend den Befehl wiederholen. Agent Controller unterstützt Sie beim Kopieren der Dateien vom Implementierungshost in das Workbench-Projektverzeichnis.

1.8 Analyse von Kapazitätsmängeln: Protokolldatei für die Analyse von Kapazitätsmängeln

Wenn bei der Analyse von Kapazitätsmängeln Probleme auftreten, sollten Sie die Protokolldatei dieser Funktion auf weiterführende Informationen überprüfen, die Sie bei der Fehlerbehebung unterstützen.

Während der Analyse von Kapazitätsmängeln werden in der Datei "LeakAnalysis.log" Diagnoseinformationen aufgezeichnet. Die Datei "LeakAnalysis.log" enthält die Ausgabe der während der Analyse ausgeführten Arbeitsschritte und außerdem Informationen darüber, ob die Ausführung der Analysefunktion erfolgreich war oder fehlgeschlagen ist.

Die Datei "LeakAnalysis.log" wird in dem Profilerstelllungsprojekt abgelegt, das den Profildaten zugeordnet ist. Beispiel für Windows: <my_workspace>\ProfileProject\LeakAnalysis.log.

Zur Aufzeichnung weiterführender Informationen in der Protokolldatei können Sie die Systemeigenschaft RADLEAKREGIONDUMP verwenden. Fügen Sie diese Option zur Datei "rationalsdp.ini" hinzu:

VMArgs=-DRADLEAKREGIONDUMP=1

Die Datei "rationalsdp.ini" befindet sich im Installationsverzeichnis von Rational Software Architect.

1.9 Analyse von Kapazitätsmängeln: RADLEAKJVMSIZE zur Analyse sehr umfangreicher Heapspeicher definieren

Wenn die Analyse von Kapazitätsmängeln fehlschlägt und in der Datei "LeakAnalysis.log" die Nachricht 'JVMDUMP006I Verarbeitung von Speicherauszugsereignis "uncaught", Detail "java/lang/OutOfMemoryError"' ('JVMDUMP006I Processing Dump Event "uncaught", detail "java/lang/OutOfMemoryError"') aufgezeichnet wird, müssen Sie die Größe des Heapspeichers für den Prozess zur Analyse von Kapazitätsmängeln erhöhen.

Hierzu ist es erforderlich, das Systemattribut RADLEAKJVMSIZE von Rational Software Architect zu definieren. Mit diesem Attribut wird die JVM-Heapspeichergröße gesteuert, die während der Analyse von Kapazitätsmängeln zur Verfügung steht.

Fügen Sie diese Option zur Datei "rationalsdp.ini" hinzu, um RADLEAKJVMSIZE zu definieren:

VMArgs=-DRADLEAKJVMSIZE=value

Hierbei steht value für den neuen Grenzwert der Größe des Heapspeichers, z. B. 1024 MB. Der Standardwert lautet 512 MB. Sie müssen angeben, ob die Größe des Heapspeichers in Megabyte (MB) oder Gigabyte (GB) ausgedrückt wird.

Die Datei "rationalsdp.ini" befindet sich im Installationsverzeichnis von Rational Software Architect.

1.10 Threadanalyse: Feststellung von gegenseitigen Sperren bei IBM JRE 1.4.2 nicht möglich

Wenn Sie für die Funktion zur Profilerstelllung bei der Threadanalyse die herkömmliche IBM JVM verwenden, wird in der Threadsicht der Perspektive für die Profilerstellung und Protokollierung die Statusmeldung, in der Sie darüber informiert werden, dass das System auf eine Sperre wartet ('Waiting for lock'), nicht für alle Threads angezeigt, die von der gegenseitigen Sperre betroffen sind. Dies ist darauf zurückzuführen, dass in den erfassten Daten bestimmte Informationen fehlen. Problemumgehung: Geben Sie im Feld für das Argument VM auf der Registerkarte für Argumente des Dialogs "Profil" -Xj9 an, um die IBM J9-JVM zu verwenden.

2.0 Bekannte Probleme

2.1 Probekit: Verwendung von Nicht-ASCII-Zeichen in Probekit-Quellendateinamen nicht zulässig

Probekit-Quellendateien, deren Name Nicht-ASCII-Zeichen enthält, können nicht korrekt verarbeitet werden. Verwenden Sie im Namen von Probekit-Quellendateien ausschließlich ASCII-Zeichen.

2.2 Probekit: Probekit-Quellendateien erstellen

Verwenden Sie nicht die Aktion Probekit->Compile, die im Kontextmenü für die Dateien mit der Erweiterung *.probe angezeigt wird. Konvertieren Sie stattdessen das Projekt, das die Datei *.probe enthält, in ein Probekit-Projekt, und verwenden Sie den Build-Standardmechanismus. (Verwenden Sie zum Konvertieren eines Java-Projekts in ein Probekit-Projekt die Optionen "Datei->Neu->Andere", und wählen Sie im Abschnitt zur Profilerstellung und Protokollierung die Option zum Konvertieren von Java- in Probekit-Projekte aus.)

2.3 Probekit: Nicht-ASCII-Zeichen in Probekit-Zielspezifikationen

In den Mustern für Probekit-Spezifikationen zur "Zieladresse" dürfen keine Nicht-ASCII-Zeichen verwendet werden. Test-Monitor-Einheiten, die Nicht-ASCII-Zeichen in den Mustern für Zieladressen enthalten, können nicht fehlerfrei verarbeitet werden.

2.4 Geltungsbereich von Methode und auf Zeilenebene: 'flush on method' mit Nicht-ASCII-Zeichen

Verwenden Sie keine Nicht-ASCII-Zeichen, wenn Sie Methodenmuster für "Flush coverage data when..." hinzufügen.

Wenn Sie in den Feldern für das Paket, die Klasse oder die Methode des Dialogs "Hinzufügen" des Methodenmusters Nicht-ASCII-Zeichen eingeben, wird ein Fehler zu ungültigen Eingabedaten angezeigt und der Dialog kann nicht geschlossen werden.

Problemumgehung: Verwenden Sie in Ihren Mustern an Stelle der Nicht-ASCII-Zeichen ein Platzhalterzeichen (Stern).

2.5 Geltungsbereich von Methode und auf Zeilenebene: EXCLUDE-Filter dürfen nicht mit Platzhalterzeichen beginnen

Ein EXCLUDE-Filter, der mit einem Platzhalterzeichen (Stern) beginnt, z. B. "*foo", führt dazu, dass in den Sichten für die Geltungsbereichsstatistiken, den Geltungsbereichsnavigator und die kommentierte Quelle keine Daten angezeigt werden. Problemumgehung: Verwenden Sie solch einen EXCLUDE-Filter nicht.

2.6 Analyse von Kapazitätsmängeln: Keine Unterstützung für mit J9-JVM erstellte IBM Heapspeicherauszüge

Die Funktion für die Analyse von Kapazitätsmängeln steht für Benutzerprogramme, die mit der J9-JVM von IBM arbeiten, nicht zur Verfügung.

Wenn Sie die Umgebungsvariable IBM_HEAPDUMP definieren und Signale für "kill -3" an den aktiven Java-Prozess absetzen, erstellt die J9-JVM von IBM Heapdateien, deren Namen Ähnlichkeiten mit heapdump.20041012.093936.2192.dmp aufweisen. Diese Dateien mit der Erweiterung .dmp müssen nachbearbeitet werden. Hierzu müssen die Anweisungen "j9extract" und "jdmpview" ausgeführt und IBM Heapspeicherauszüge erstellt werden.

Das Format dieser Heapspeicherauszüge stimmt nicht mit dem Format der Heapspeicherauszüge überein, die von der herkömmlichen IBM JVM generiert werden.

2.7 Analyse von Kapazitätsmängeln: Angabe neuer Projekt- oder Überwachungskomponente beim Importieren von Heapdateien erforderlich

Wenn Sie mehrere Gruppen von Heapspeicherauszügen mit demselben Überwachungsnamen in ein bereits vorhandenes Projekt importieren, besteht das Risiko des Datenverlustes, wenn Sie das Projekt später speichern oder die Workbench verlassen.

Um dies zu verhindern, müssen Sie für jede importierte Gruppe von Heapspeichern eine eindeutige Kombination aus Projekt- und Überwachungsangabe definieren.

2.8 Geltungsbereich auf Zeilenebene, Probekit: Neustart von Projekt zur Erfassung von Daten aus bereits geladenen Klassen erforderlich

Wenn Sie einen WAS-Server starten und eine Verbindung zu dieser Einheit herstellen, dann werden bei den Profilerstelllungstypen für Probekit und den Geltungsbereich auf Zeilenebene keine Daten für Klassen erfasst, die bereits in die JVM-Zieleinheit geladen wurden. Problemumgehung: Um Daten aus diesen Klassen zu erfassen, müssen Sie die Projekte, die diese Klassen enthalten, erneut starten.

2.9 Doppelbytezeichen werden in der Konsolensicht nicht angezeigt

Während der Profilerstelllung werden alle Doppelbytezeichen in der Konsolsicht mit den Zeichen ???? dargestellt.

2.10 Analyse von Kapazitätsmängeln: Systemabsturz bei der Profilerstelllung für Applets mit IBM JVM

Die Profilerstelllung für Applets mit IBM 1.4.2 SR1 JVM, die zur Analyse von Kapazitätsmängeln ausgeführt werden kann, verursacht einen JVM-Systemabsturz. Geben Sie in den VM-Argumenten Ihrer Anwendung -Xj9 an, um dieses Problem zu vermeiden.

2.11 Analyse von Kapazitätsmängeln: Ländereinstellung für Analyse muss mit Ländereinstellung für Datenerfassung übereinstimmen

Die Ländereinstellungen, die auf dem Workbench-Host, dem fernen Implementierungshost und für die Zielanwendung definiert sind, müssen übereinstimmen, wenn Hyades Optimized-Heapspeicherauszüge erfasst werden sollen.

2.12 Threadanalyse: Fehlende Threadeigner bei Sperren in IBM JRE bis Version 1.4.1

Wenn die Profilerstelllung für die Threadanalyse mit IBM JVM 1.4.1 oder einer früheren Version dieses Produkts ausgeführt wird, wird in der Threadsicht in der Perspektive für die Profilerstelllung und die Protokollierung der Threadeigner für die Sperrenüberwachung nicht angezeigt, da diese Daten nicht erfasst werden. Problemumgehung: Führen Sie einen Upgrade auf IBM JRE 1.4.2 durch.

2.13 Risiko des Systemabsturzes für JVM von Sun bei ferner Profilerstelllung unter Solaris

Wenn die Profilerstelllung unter Solaris auf einer fernen Einheit durchgeführt wird, führt ein Defekt in der Sun 1.4.x JRE dazu, dass die Profilerstelllung für bestimmte Funktionskombinationen nicht durchgeführt werden kann. Dies gilt insbesondere dann, wenn die Speicherprofilerstelllung oder die Threadanalyse aktiviert ist. Auf der Website von Sun finden Sie eine Beschreibung zu diesem Problem: http://developer.java.sun.com/developer/bugParade/bugs/4614956.html. Problemumgehung: Verwenden Sie Sun JRE 1.4.2_06 oder eine spätere Version dieses Produkts.

Zurück zur Readme-Hauptdatei