Dieses Dokument enthält allgemeine Informationen über die Profil-Erstellung (Profiling) für Natural-Anwendungen.
Ein Profiler ist ein Tool für die dynamische Analyse von Programmen. Es misst die Häufigkeit und Dauer von Statements und vereinfacht so die Optimierung von Programmen.
Der Natural-Profiler wird zur Erstellung von Profilen (Profiling) für Natural-Anwendungen verwendet. Er sammelt Profiling-Daten immer dann, wenn ein definiertes Natural-Ereignis eintritt, z.B. wenn ein Programm startet oder bevor eine Datenbank aufgerufen wird. Der Natural-Profiler visualisiert die aufgezeichneten Ereignisdaten als Ereignis-Trace und die Aufrufstruktur der ausgeführten Natural-Objekte als Programm-Trace. Die vom Natural-Profiler gelieferte Performance-Auswertung zeigt den Zeitverbrauch und die Trefferzahl der ausgeführten Objekte, Natural-Statements und Programmzeilen.
Sie können Natural Profiler-Ereignisdaten in der Ausgabe der Profiler Utility anzeigen oder die Daten im Text- oder Tabellenformat exportieren. Sie können Natural Profiler-Performance-Analysen in der Eclipse-basierten Entwicklungsumgebung NaturalONE oder mit der Natural Profiler Rich GUI-Schnittstelle (einer Natural for Ajax-Anwendung) visualisieren.
Eine Natural Profiler-Analyse dient als Grundlage für die Performance-Optimierung einer Natural-Anwendung. Der Natural Profiler verschafft Ihnen einen sehr schnellen Überblick über die zeitintensiven Teile einer Natural-Anwendung. Es sind keine Code-Änderungen erforderlich, und außerdem reichen Grundkenntnisse der Anwendung aus.
Dieser Abschnitt beschreibt kurz die Schritte, die für die Profil-Erstellung von Natural-Batch-Anwendungen und die Anzeige der Ergebnisse erforderlich sind. Die hier aufgeführten Anweisungen können als Richtlinie dienen, wenn Sie mit der Verwendung des Natural Profilers beginnen. Detaillierte Informationen zu den Schritten finden Sie im Rest dieses Kapitels.
Die Schritte hängen, wie in der folgenden Grafik dargestellt, von der Auswertung ab, die Sie für Ihre Anwendung durchführen möchten:

Überprüfen Sie, ob die Voraussetzungen erfüllt sind.
Fügen Sie im Natural Batch-Job die Profiler Utility-Funktionen
INIT, FILTER und START hinzu, um die
Ereignisdatenerfassung zu starten. Im folgenden Beispiel für z/OS wird das
Natural-Programm XPROF in der Library PRFDEMO
profiliert:
//CMSYNIN DD * PROFILER FUNCTION=INIT /* Initialize profiling RESOURCE-NAME='ResNam',REPLACE=YES /* Resource name RESOURCE-LIB=RESLIB /* Resource library FILTER=EVENT /* Set event filter EVENT=ALL /* All events STATEMENT=ON /* Collect statements FUNCTION=START /* Start data collection END-PROFILER /* End Profiler input LOGON PRFDEMO XPROF 10000 FIN
Im obigen Beispiel werden die Profiler-Ereignisdaten in eine
Ressourcendatei mit dem Namen ResNam.nprf in der Library
RESLIB geschrieben. Siehe auch
Profilierung
initialisieren und
Datensammlung starten
und anhalten.
Öffnen Sie die NPRF-Ressource in NaturalONE, um die Hot-Spots und das Ereignis-Tracing zu sichten.
Starten Sie einen Natural-Batch-Job mit der
READ-Funktion der Profiler Utility, um ein Ereignis-Tracing, ein
Programm-Tracing und die Profiler-Statistiken zu drucken. Beispiel:
FUNCTION=READ /* Read Profiler data RESOURCE-LIB=RESLIB /* Resource library RESOURCE-TYPE=NPRF /* Use resource type NPRF EVENT=ON /* Print event trace PROGRAM=ON /* Print program trace STATISTICS=ON /* Print statistics
Siehe auch Lesefunktion (READ) der Profiler Utility. In diesem Abschnitt wird auch beschrieben, wie Sie eine Transaktionszusammenfassung generieren.
Konsolidieren (aggregieren) Sie die Ereignisdaten aus der
Profiler Rich GUI-Schnittstelle oder starten Sie einen Natural-Batch-Job mit
der Profiler Utility-Funktion CONSOLIDATE. Beispiel:
FUNCTION=CONSOLIDATE /* Consolidate Profiler data RESOURCE-LIB=RESLIB /* Resource library REPLACE=YES /* Replace resource
Die konsolidierten Profiler-Ereignisdaten werden in die
Ressource ResNam.nprc in der Library RESLIB
geschrieben. Siehe Ereignisdaten
konsolidieren.
Öffnen Sie die NPRC-Ressource in NaturalONE, um die Hot-Spots zu sichten.
Öffnen Sie die NPRC-Ressource mit der Profiler Rich GUI-Schnittstellenfunktion Data Evaluation oder Program Analysis, um die Profiler-Daten in einer grafischen, interaktiven Browser-Oberfläche zu visualisieren.
Starten Sie einen Natural-Batch-Job mit der Profiler
Utility-Funktion READ, um eine Programmzusammenfassung, eine
Zeilenzusammenfassung und die Profiler-Statistiken zu generieren. Beispiel:
FUNCTION=READ /* Read Profiler Data RESOURCE-LIB=RESLIB /* Resource library RESOURCE-TYPE=NPRC /* Use resource type NPRC PROGRAM=ON /* Print program summary LINE=ON /* Print line summary STATISTICS=ON /* Print statistics
Siehe auch Lesefunktion (READ) der Profiler Utility. In diesem Abschnitt wird auch beschrieben, wie Sie eine Transaktionszusammenfassung generieren.
Anmerkungen:
READ- oder CONSOLIDATE-Funktion der Profiler Utility
angegeben wird, wird die zuletzt erstellte NPRF- oder NPRC-Ressource in der
Library verwendet.
Sie können den Natural-Profiler für die Profil-Erstellung von Natural-Anwendungen auf Linux-, Windows- und Großrechner-Plattformen verwenden. Wie die Profil-Erstellung erfolgt, hängt von der Plattform und dem verwendeten Verarbeitungsmodus der Anwendung ab:
Interaktive Großrechner-Anwendungen werden mit dem NaturalONE Profiler oder der Natural Profiler Utility im Online-Modus profiliert.
Interaktive Großrechner-Anwendungen, die remote über Natural Studio oder Natural RPC ausgeführt werden, werden mit der Natural Profiler Utility im Batch-Modus profiliert.
Großrechner-Batch-Anwendungen werden mit der Natural Profiler-Utility im Batch-Modus profiliert.
Interaktive Linux- und Windows-Anwendungen werden mit dem NaturalONE Profiler bzw. dem Natural Profiler for Linux bzw. Windows profiliert.
Linux- und Windows-Batch-Anwendungen werden mit dem Natural Profiler für Linux bzw. Windows profiliert.
In diesem Abschnitt werden die wichtigsten Funktionen der Natural Profiling Tools zusammengefasst:
Erstellt Profile für interaktive Natural-Anwendungen auf Linux-, Windows- oder Mainframe-Plattformen in einer Eclipse-basierten Entwicklungsumgebung.
Liest und analysiert Profiler-Ressourcendateien mit Ereignisdaten, die von der Großrechner-Profiler Utility im Batch-Modus oder vom Natural Profiler für Linux und Windows gesammelt wurden.
Bietet Funktionen für die Verarbeitung großer Datenmengen:
Ereignisfilter,
Stichprobentechnik,
Datenkonsolidierung.
Performance-Analysen von Programmen, Statements und Programmzeilen:
CPU-Zeit,
verstrichene (elapsed) Zeit,
Trefferquote.
Zeigt ein Ereignis-Trace an.
Gestattet die direkte Navigation von einer profilierten Programmzeile zum entsprechenden Quellcode.
Speichert die Profiler-Daten als XML-formatierte Datei und lädt die Daten wieder zurück.
Erstellt Profile für interaktive oder Natural-Batch-Anwendungen von einer Linux- oder Windows-Plattform aus.
Bietet Funktionen für die Verarbeitung großer Datenmengen:
Ereignisfilter,
Stichprobentechnik,
Datenkonsolidierung.
Speichert die Profiler-Daten als Profiler-Ressourcendatei.
- Online-Modus (Großrechner)
Erstellt Profile für interaktive Natural-Anwendungen auf Großrechner-Plattformen.
Bietet einen Ereignisfilter.
Zeigt ein Ereignis-Trace an.
Speichert die Profiler-Daten in einem Tabellenformat.
Speichert die Profiler-Daten als Profiler-Ressourcendatei.
Anmerkung
Die Menge der von der Profiler Utility im Online-Modus gesammelten Daten ist durch die relativ geringe Größe des Natural Data Collector-Puffers begrenzt, der in einem Wrap-Around-Modus arbeitet. Außerdem wird bei der Ausführung unter CICS oder Com-plete die CPU-Zeit nicht bereitgestellt. Generell empfehlen wir Ihnen, den NaturalONE Profiler für das Profiling interaktiver Natural Großrechner-Anwendungen zu verwenden, weil der NaturalONE Profiler keine Größenbeschränkungen hat und CPU-Performance-Analysen unterstützt.- Batch-Modus (Großrechner)
Erstellt Profile für Natural-Batch- und Natural-RPC-Anwendungen auf Großrechner-Plattformen.
Erstellt Profile für interaktive Großrechner-Anwendungen, die remote von Natural Studio ausgeführt werden.
Bietet Funktionen für die Verarbeitung großer Datenmengen:
Ereignis-, Programm-, Zähl- und Zeitfilter,
Stichprobentechnik,
Datenkonsolidierung.
Speichert Profiler-Daten als Profiler-Ressourcendatei.
Liest und analysiert Profiler-Ressourcendateien.
Druckt Programm- und Ereignis-Traces aus.
Analysiert die Programm-Performance.
Bewertet die Antwortzeiten von Transaktionen.
Sammelt und zeigt Profiler-Eigenschaften und Statistiken an.
Bietet eine Funktion zum Löschen einer Natural Profiler-Ressourcendatei.
- Batch-Modus (Linux und Windows)
Liest und analysiert Profiler-Ressourcendateien.
Bietet Funktionen für die Verarbeitung großer Datenmengen:
Datenkonsolidierung
Speichert konsolidierte Profiler-Daten als Profiler-Ressourcendatei.
Druckt Programm- und Ereignis-Traces aus.
Analysiert die Programm-Performance.
Zeigt Profiler-Eigenschaften und Statistiken an.
Listet die Profiler-Ressourcen einer bestimmten Library auf.
Zeigt Profiler-Eigenschaften und Statistiken an.
Bietet eine Funktion zur Konsolidierung von Profiler-Daten.
Bietet eine Funktion zum Löschen einer Natural Profiler-Ressourcendatei.
Visualisiert Profiler-Daten auf einer grafischen, interaktiven Browser-Oberfläche.
Analysiert die Anwendungs-Performance anhand von Auswahlkriterien wie Library, Programm, Programmzeile oder Benutzer für verschiedene Leistungskennzahlen (KPIs, Key Performance Indicators):
CPU-Zeit,
verstrichene (elapsed) Zeit,
Adabas-Kommandozeit,
Trefferzahlen wie Datenbankaufrufe oder Laufzeitfehler.
Kombiniert den Programmquellcode mit den Profiler-Daten zur Programmanalyse.
Die folgende Tabelle enthält eine Zusammenfassung der Auswertungskriterien, die von den Natural Profiling Tools zur Verfügung gestellt werden.
| Auswertung | Profiling-Tool | Beschreibung |
|---|---|---|
| Program Summary | Profiler Utility (Batch) | Programmzusammenfassung
Zeigt die CPU-Zeit, die für jedes ausgeführte Natural-Objekt aufgewendet wurde, und die Natural-Ereignisse, die in einem Objekt aufgetreten sind. Siehe auch Beispiel für eine Programmzusammenfassung. |
| Line Summary | Profiler Utility (Batch) | Zeilenzusammenfassung
Zeigt die während der Natural-Programmausführung verbrauchte CPU-Zeit und die verstrichene (elapsed) Zeit für jede einzelne Quellcodezeile sowie die Anzahl der Natural-Ereignisse, die in der Zeile aufgetreten sind. Siehe auch Beispiel für eine Zeilenzusammenfassung. |
| Transaction Summary | Profiler Utility (Batch) | Transaktionszusammenfassung
Zeigt die für jede einzelne Transaktion verbrauchte Antwortzeit und die Anzahl der Natural-Ereignisse, die während der Transaktionsausführung aufgetreten sind. Weitere Informationen siehe Transaktionszusammenfassung. Siehe auch Beispiel für eine Transaktionszusammenfassung. |
| Hot Spots | NaturalONE Profiler | Brennpunkte
Zeigt die von Natural-Objekten, Statements und Programmzeilen verbrauchte CPU-Zeit und die verstrichene (elapsed) Zeit sowie die Häufigkeit der Ausführung eines Objekts oder Statements. Von einer profilierten Programmzeile aus können Sie direkt zu der entsprechenden Quellcode-Zeile navigieren. Siehe auch die entsprechende Beschreibung der Hot Spots unter Using the Natural Profiler in der NaturalONE-Dokumentation. |
| Data Evaluation | Natural Profiler Rich GUI-Schnittstelle | Datenauswertung
Visualisiert die Profiler-Daten auf einer interaktiven Rich-GUI-Benutzeroberfläche. Sie können die Verteilung der CPU- und verstrichenen (elapsed) Zeit, die Adabas-Befehlszeit oder verschiedene Trefferquoten (Hit-Counts) auswerten und Kriterien für die Verteilung auswählen. Siehe auch das Beispiel für eine Datenauswertung im Abschnitt Natural Profiler Rich GUI-Schnittstelle. |
| Program Analysis | Natural Profiler Rich GUI-Schnittstelle | Programmanalyse
Kombiniert den Quellcode der überwachten Programme mit den Profiler-Daten, wobei der Quellcode entsprechend dem Wert des ausgewählten KPIs eingefärbt wird. Siehe auch das Beispiel für eine Programmanalyse im Abschnitt Natural Profiler Rich GUI-Schnittstelle. |
| Program Trace | Profiler Utility (Batch) | Programm-Trace
Zeigt den Programmablauf der profilierten Anwendung in der Aufrufhierarchie und die Anzahl der aufgetretenen Ereignisse. Siehe auch Beispiel für einen Programm-Trace. |
| Event Trace |
NaturalONE Profiler, |
Ereignis-Trace
Listet die aufgezeichneten Ereignisdaten in chronologischer Reihenfolge auf. Siehe auch Beispiel für ein Ereignis-Trace, Beispiel für Trace-Datensätze auflisten, und die entsprechende Beschreibung in der NaturalONE-Dokumentation unter Using the Natural Profiler. |
|
Natural Profiler Rich GUI-Schnittstelle, |
Profiler-Eigenschaften
Listet Profiler-Eigenschaften wie die Profiler-Revision und Statistiken der überwachten Anwendung auf, die z. B. die gesamte CPU- und die verstrichene (elapsed) Zeit anzeigen. Siehe auch das Beispiel mit Eigenschaften und Statistiken im Abschnitt Natural Profiler Rich GUI-Schnittstelle und Profiler Statistiken (Batch). |