Automatisches Methoden Laufzeiten logging?

ArkLut

Aktives Mitglied
Hi,

Ich habe immer mal wieder Probleme mit der Performance - und muss dann herausfinden zu schauen wo es hängt.

Um da schnell einen Einstieg zu finden wollte ich wissen ob es irgendwas gibt mit dem ich meine Anwendung (sowohl eine Web Applikation in einem Applikation Server als auch eine JavaWebStart Applikation) starten und ausführen kann und in einem separaten log file die Methoden Laufzeiten meiner Methoden loggt - damit ich sehe in welchen Methoden die Anwendung am meisten Zeit verbringt - damit ich dann basierend darauf schauen kann wo es hängt.

Ich weiß es profilier etc. aber mir wäre so ein passives logging in einigen Fällen lieber. Dabei sollet ich natürlich nicht alles neu kompilieren müssen … gibt’s da was?
 
Warum Java VisualVM sollte genau das machen, was du möchtest. Es klinkt sich in die VM ein und lässt dich samplen was am meisten Memory oder CPU benötigt - dazu braucht man kein commercial feature.
 
Java VisualVM ist aber immer direkt mit GUI und man muss es aktiv benutzten, oder nicht?
Ja, ist aber nur ein Wrapper für schon existierende Tools.... Zitat:
Java VisualVM is an intuitive graphical user interface that provides detailed information about Java technology-based applications (Java applications) while they are running on a specified Java Virtual Machine (JVM). The name Java VisualVM comes from the fact that Java VisualVM provides information about the JVM software visually.

Java VisualVM combines several monitoring, troubleshooting, and profiling utilities into a single tool. For example, most of the functionality offered by the standalone tools jmap, jinfo, jstat, and jstack were integrated into Java VisualVM. Other functionality, such as some that offered by the jconsole command, can be added as optional plug-ins.
Aber das Ding kann auch im Hintergrund laufen. Also wo liegt der Unterschied ob CLI oder GUI, wenn ich aktiv tracen möchte?
 
Naja passives Tracing wird von HotSpot jetzt so nicht angeboten, was ich bisher gefunden habe. J9 hat da eingebaute Flags, die das können.
Ich versteh jetzt nicht, warum man kein Programm zum Tracing dazustarten kann, aber na gut.
 

Zurück
Oben