Gesamte Methodenzeit in Java VisualVM
In Java VisualVM, gibt es eine Möglichkeit, die Anzeige total-Methode Zeit, sondern als "selbst-Zeit"? (Letzteres ist nicht besonders nützlich, da es nicht sagen, nichts darüber, wie viel Zeit Methoden tatsächlich ausgeführt wird.)
Wenn nicht, gibt es eine Kostenlose standalone-Java-profiler, übernimmt berechnen Sie die Gesamt-Methode Zeit?
InformationsquelleAutor der Frage kpozin | 2009-12-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick auf die trace-Daten werden in einem "snapshot" - Ansicht können Sie sehen, dass der Gesamtbetrag sowie die selbst Zeit.
Drücken Sie die "snapshot" - Taste, erscheint über der Tabelle der Ergebnisse. Dadurch wird eine neue Registerkarte, die enthält einen "Call Tree" - Ansicht, die bricht die self vs. Gesamtzeit. Das "combined" - Ansicht bietet auch diese Informationen, sondern teilt sich den Platz auf dem Bildschirm mit einem "Hot-Spots" - Ansicht, die ähnlich der standard-profiling-Ansicht.
Snapshots können erstellt werden, die entweder aus den standard - "Profiler" oder "Sampler" Daten. Jedoch, "Profiler" snapshots können nur erstellt werden, bevor die Anwendung geschlossen wird, während sich die "Sampler" kann jederzeit erstellt werden.
(Die vorstehenden Angaben basieren auf VisualVM 1.3.1)
InformationsquelleAutor der Antwort Joseph Cottam
Nur eine Momentaufnahme der profiling-Ergebnisse. Sie erhalten die Wand-Uhr-Zeit so gut wie von selbst mal dort.
InformationsquelleAutor der Antwort JB-
Gibt es einen einfachen Weg, um die Gesamtzeit der routine als ein Prozent der wall-clock-Ausführungszeit (statt Millisekunden). Benutzen Sie einfach ctrl-break, um eine Reihe von stackshots, während Sie darauf warten. Der Anteil von Ihnen, das die routine ist die % der Zeit, die es braucht. Die Genauigkeit hängt davon ab, wie viele Aufnahmen, die Sie nehmen. Wenn Sie gerade suchen, wo die Probleme sind, die Sie nicht brauchen Präzision der Zeitmessung. Hier ist eine kurze Erklärung, wie es funktioniert.
InformationsquelleAutor der Antwort Mike Dunlavey
Ich denke, Sie wollen finden Sie heraus, wie viel Zeit muss ich für jede Methode die Ausführung dauert. Würden Sie wollen, um JETM, um die Leistung überwachen.
Dies würde Ihnen Eingang Zeit Ausgang Zeit und die Zeitdifferenz für jede Methode. Sie würde herausfinden, welche Methode der Einnahme, wie viel Zeit.
Wenn man mit Spring dann wird es einfach zu integrieren JETM
http://jetm.void.fm/howto/spring_2_x_integration.html
InformationsquelleAutor der Antwort vsingh
können Sie verwenden, jprofiler oder einige javaagent-tools überwachen Sie die Methode execute Zeit für Sie.es gibt einige open-source-tools auf github,wie simpleAPM.
InformationsquelleAutor der Antwort dingjsh
JavaAssist ist eine Klassenbibliothek zur Manipulation Ihrer Java-Byte-Code ohne Berührung der Quelle. Nehmen wir ein Beispiel für das Messen der
Zeit, die zum ausführen einer Methode.
Messen die Zeit genommen für die Ausführung
subject.method2()
Sie verbessern könnte dasSubject.methods()
durch hinzufügen von code Beginn und Ende der Methode, wie dargestellt.Ausgabe:
Start : Wed May 26 17:24:18 CEST 2010
Ende : Wed May 26 17:24:20 CEST 2010
Referenz
http://www.csg.is.titech.ac.jp/~chiba/javassist/tutorial/tutorial.html#Lesen
http://www.csg.is.titech.ac.jp/~chiba/javassist/html/
Ursprungs-Post von:
http://www.senthilb.com/2010/05/javaassist-byte-code-enhancement.html
InformationsquelleAutor der Antwort Senthil Balakrishnan
könnte man eine
sich am Anfang
und
und schließlich das Ergebnis zu erhalten
InformationsquelleAutor der Antwort Brendan