JProfiler ist eine preisgekrönte All-in-One-Java-Profiler. Es ist intuitive GUI hilft Ihnen dabei, Performance-Engpässe, festzunageln Speicherlecks und zu lösen Threadingprobleme.
Obwohl JProfiler verfügt über einen leistungsstarken Feature-Set, es ist ein Java-Profiler, der extrem einfach zu bedienen ist! JProfiler Benutzeroberfläche bietet eine einheitliche Sicht auf die profilierte Anwendung und stellt Ihnen die erforderlichen Informationen an Ihren Fingerspitzen mit seiner intuitiven Hierarchie der Ansichten müssen richtig.
Konfigurieren Sie Ihre Anwendung für die Profilerstellung
Bei der Inbetriebnahme JProfiler wird der Startzentrum erzogen. Hier verwalten und starten Sie Ihre Profiling-Sitzungen können. Um Ihre Anwendung für die Profilerstellung zu konfigurieren, wechseln Sie in das Register "New Session" und klicken Sie auf die Schaltfläche Neue Sitzung. Geben Sie die erforderlichen Informationen in die Sitzung Konfigurationsdialog, wie unten beschrieben, und wählen Sie Ok, um die Profil starten. Das ist alles was man braucht. Beachten Sie die Hilfe-Schaltfläche, die erscheint auf allen JProfiler Dialoge zeigt eine kontextbezogene Erklärung aller Funktionen.
Während der Konfigurationsdialog zeigt zahlreiche Optionen, die Sie nicht wollen, nachdem es sich mit JProfiler vertraut verpassen, die Eingabe der grundlegende Informationen ist wirklich sehr einfach:
1. Geben Sie einen Namen für Ihre Sitzung.
2. Geben Sie den Namen Ihrer Hauptklasse.
3. Geben Sie Ihre Klassenpfad.
4. Drücken Sie Ok.
Vor Profilierung tatsächlich gestartet wird, wird die Profilierung Einstellungen-Dialog angezeigt, in dem Sie den Fokus für Ihren Profillauf auszuwählen. Obwohl Profilierung erzeugt einen Overhead bei der Ausführung Ihrer Anwendung, können Sie es, indem Sie eine Einstellung für die JProfiler nur zeichnet Informationen, die für Sie interessant ist, zu minimieren.
Wenn Sie eine Feinabstimmung Ihrer Profileinstellungen wollen, bringt der Schaltfläche [Bearbeiten] einen Dialog mit allen verfügbaren Konfigurationsoptionen für die Profilerstellung.
Beachten Klassen und Zuordnungen
Um herauszufinden, was ist auf dem Heap gehen in Bezug auf Objekte und Klassen, schalten Sie auf die Klassen-Monitor. Es gibt Ihnen kontinuierliche Updates und Sie können Markierungen gesetzt, um Veränderungen über die Zeit zu beobachten. Verweise, Zuordnungen und Objektdaten für Ihre Auswahl zu sehen, können Sie eine Momentaufnahme, indem Sie auf die Kamera in der Symbolleiste JProfiler zu nehmen.
Wenn Sie wissen, wo Ihre Objekte zugeordnet möchten, können Sie auf die Zuweisung Monitor zu gehen. Hier können Sie den Anruf Baum inspizieren und finden Sie heraus, was Methodenaufrufe haben die Zuteilung einer ausgewählten Klasse oder Paket verursacht werden. Genau wie bei der Zuweisung Monitor, können Sie diese Daten für Live- und Garbage Collection-Objekte anzuzeigen.
Eine kumulierte Übersicht, auf denen Methoden sind für die Zuweisungen verantwortlich ist durch die Zuordnung Hot-Spots zu sehen gegeben. Jeder Hot Spot kann erweitert werden und den Backtraces, die dem Aufruf der Hotspot führen werden angezeigt. Sie können auch kennzeichnen die aktuellen Werte und die Unterschiede in den Zuweisungen im Laufe der Zeit zu sehen.
Finden Sie Speicherlecks
JProfiler der Heap Walker funktioniert wie ein Browser: es einen aktuellen Satz von Objekten, die durch Zugabe von Selektionsschritten mit der [ausgewählten Bedingungen] -Taste geändert werden kann zeigt. Sie können das aktuelle Objekt in den vier Aussicht auf den Heap Walker eingestellt inspizieren.
In den Klassen Ansicht können Sie eine oder mehrere Klassen auswählen und eine Auswahlschritt. Das neue Objekt-Set enthält nur die ausgewählten Fällen. Dies ist oft der erste, was Sie nach der Einnahme eine Momentaufnahme machen wollen. Sie können diesen Schritt automatisch durch Aufrufen der Heap Walker von der Klassen-Monitor durchführen.
Die Zuweisungen Blick auf den Heap Walker zeigt die Zuordnung Baum und die Zuordnung Hotspot Liste des aktuellen Objekts. Sie können einen Auswahlschritt für eine oder mehrere Zuordnungs Flecken oder Hotspots hinzufügen. Das neue Objekt-Set wird dann nur die ausgewählten Fälle beschränkt werden.
Wenn Sie nach der Ursache für einen Speicherverlust suchen, ist die Referenzansicht der wichtigste Ansicht in JProfiler. Hier können Sie herausfinden, warum ein Objekt wurde nicht Müll gesammelt. Verwenden Sie den "Pfad zeigen GC root" Funktion, um zu zeigen, wo die JVM hängt sich an der ausgewählten Instanz.
Nicht nur ist der Heap Walker Ihre erste Anlaufstelle für die Suche nach Speicherlecks, es macht auch für eine ausgezeichnete Debugging-Anlage. In der Datenansicht können Sie Instanzen, Arrays und Klassen in der aktuellen Objektsatz zu inspizieren und navigieren entlang Referenzen. Es gibt viele Situationen, in denen die übliche Fehlersuche Ansatz fehl und JProfiler wird Ihnen helfen, zu finden.
Vergrößern Sie Performance-Engpässe
Controlling Performance Ihrer Anwendung können durch Servicequalität Bedingungen oder der allgemeinen Qualitätssicherung betrieben werden, JProfiler die CPU Ansichten eignen sich natürlich für beide Ansätze.
Um die CPU-Daten aufzuzeichnen, zu dem CPU Abschnitt schalten Sie und klicken Sie auf die Aufnahmetaste in JProfiler der Werkzeugleiste. Der erste Blick in den CPU-Teil zeigt die Aufrufstruktur für alle Threads kumuliert. Um leistungsbezogene Problemstellen zu finden, folgen Sie einfach den großen Prozentsätze beim Öffnen der Baumknoten. Auch können die absoluten Zeiten und die Anzahl der Aufrufe, die für jeden Knoten angezeigt werden, die Sie in immer ein Gefühl für die Situation zu helfen. Sobald Sie mit JProfiler vertraut gemacht haben, können Sie diese Ansicht, um Ihre persönlichen Vorlieben passt am Besten zu gestalten.
Die Anrufung Baum ist ein Top-Down-Sicht auf die Methodenaufrufe der Anwendung. Diese Sichtweise ist besonders nützlich, wenn Sie einen vorhandenen Leistungsengpass in der Anwendung zu erleben. Wenn Sie die Gesamtleistung verbessern wollen, kann ein Bottom-up-Seite mehr anwendbar sein.
Diese Art der Ansicht - genannt Hot Spots Ansicht - zeigt die Verfahren, bei denen die meiste Zeit verbracht wird. Durch Öffnen diese Knoten erhalten Sie Backtraces, die die verschiedenen Aufrufpfade zusammen mit den Prozentsätzen ihrer Beiträge zu zeigen. Beachten Sie, dass standardmäßig ruft Methode in Java Kern-Klassen werden nicht separat ausgewiesen - jede Ihrer Bibliothek Anrufe wird als opak behandelt. Sie können dieses Verhalten durch Deaktivieren der entsprechenden Filtersätzen ändern.
Die Methode Graphen kombiniert beide Sichtweisen. Eingehende und ausgehende Anrufe Verfahren werden in der gleichen Art und Weise präsentiert. Für eine Reihe von Situationen, kann das Verfahren graph Ihnen mehr Einblick als die Anrufung Baum und der Hot Spots Blick. Die beste Strategie ist, zunächst die Anrufung und Hot Spots Ansichten verwenden und wechseln Sie zu der Methode Graph zur detaillierten Analyse.
Lösen Sie Gewinde-bezogene Probleme
Themen können außergewöhnlich schwierig zu debuggen sein, besonders wenn Sie nicht über ausreichende Informationen über die tatsächliche Reihenfolge und Status der Threads in Ihrer Anwendung. JProfiler Faden Blick bieten Ihnen genau dieses Wissen.
Der Faden der Geschichte Ansicht zeigt eine kontinuierliche Aktualisierung der Lebenslinien aller Themen auf der horizontalen Achse. Die Namen der Gewinde sind auf der vertikalen Achse in der Reihenfolge ihrer Erstellung angezeigt. Jede Farbe bedeutet einen anderen Thread-Status. Orange bedeutet, dass das Gewinde schlief, Grün steht für ein ausführbarer Thread während Rot wird angezeigt, wenn der Thread wartet auf einen Monitor. Sie können in die und aus, um die gewünschte Detailebene zu vergrößern oder die Zeitachse, nicht zu Ihrem Fenster automatisch.
Wenn Sie mehr daran interessiert, was gerade passiert sind, ist der Fadenwächter Ansicht der richtige Ort, zu betrachten. Hier können Sie Themen zu sortieren, zu filtern bezüglich Status und Gewinde siehe weitere Informationen über jeden Thread.
Sollten Sie jemals einen Deadlock in der Anwendung haben, wird die Deadlock-Erkennung Diagramm helfen, analysieren die beteiligten Themen und der Sperrlage. Einfache Deadlocks wie die gezeigten konnte von Hand von den anderen Ansichten bearbeitet werden, sondern auch für komplizierte Deadlock mit einer größeren Anzahl von Threads diese Ansicht ist unverzichtbar.
Reduzierung allgemeinen Monitor Behauptung und Debuggen Sperrsequenzen erfordert eine detaillierte Ansicht des aktuellen Monitor-Nutzung und eine Historie aller Monitor-bezogene Ereignisse. JProfiler greifen. Unten sehen Sie den Monitor Verwendungsgeschichte, die eine Sperr Veranstaltung zusammen mit der Stack-Trace des wartenden Thread zeigt.
Halten Sie ein Auge auf Ihre JVM
Überwachung Summenparameter der virtuellen Maschine kann eine sehr fruchtbare Tätigkeit, auch wenn alles scheint in Ordnung. Mess- und Beobachtungsparameter wie Speichergröße, Objektanzahl, geladenen Klassen und Fadenzahlen kann zu gefährlichen Trends und problematisches Verhalten zu achten darauf. In seiner VM Telemetrieansicht Abschnitt JProfiler verfügt über verschiedene Telemetriebefehle, die Sie mit den Informationen, die Sie einen Schritt voraus zu benötigen.
Die Anzahl der Objekte auf dem Heap, aufgeteilt in Arrays und nicht-Arrays. Dies ist Ihre erste Anlaufstelle, wenn Sie den Verdacht einer Speicherverlust werden. Alle Objekte mit Live-Referenzen enthalten sind, als auch solche, die nicht referenzierte sind aber der Garbage Collector hat keine Chance noch zu sammeln musste.
Der Garbage Collector-Aktivität, die zeigt befreit und bewegten Objekten. Wenn Ihr Antrag Prügel den Heap übermäßig, wird diese hier angezeigt. Verschieben zahlreicher Objekte legt großen Belastung für die virtuelle Maschine und kann zu vorübergehenden Einfrieren führen. Meistens tritt auf, wenn die virtuelle Maschine Vergrößerung des Heap.
Die Anzahl der Threads in der virtuellen Maschine, aufgeteilt in aktive und inaktive Threads. Dies ist nützlich, wenn Sie eine große Anzahl von Threads zu erstellen und benötigen Informationen über Veränderungen in ihrem Gesamtzahl und wie viele von ihnen tatsächlich ausgeführt
Was ist neu in dieser Pressemitteilung:.
- Diese Version bietet Unterstützung für Java 7 (Klassendateien mit -target 1.7 kompiliert), & quot; In die Zwischenablage kopieren & quot; Knöpfe an den Detail-Panels für & quot; Felder & quot; und & quot;. & quot ;, Methoden sowie Quick für opcode Dokumentation an der Unterseite des Bytecode-Display
Kommentare nicht gefunden