Was Sie suchen, ist Profiling :
In der Softwareentwicklung ist die Profilerstellung ("Programmprofilerstellung", "Softwareprofilierung") eine Form der dynamischen Programmanalyse, die beispielsweise die räumliche (Speicher-) oder zeitliche Komplexität eines Programms, die Verwendung bestimmter Anweisungen oder die Häufigkeit und Häufigkeit misst Dauer der Funktionsaufrufe. Die häufigste Verwendung von Profilinformationen ist die Unterstützung der Programmoptimierung.
Es gibt mehrere solcher Anwendungen. Manchmal sind diese in die IDE selbst integriert. Die NetBeans-Idee ist ein solches Tool, in das ein Profiler integriert ist.
Ein weiteres solches Tool ist Visual VM .
Profiler können auf unterschiedliche Weise arbeiten - und man sollte sich der Unterschiede bewusst sein. Ein Ansatz besteht darin, jede Sekunde eine Momentaufnahme der ausgeführten Threads zu erstellen und festzustellen, welche Methoden derzeit für jeden Thread aufgerufen werden. Dies verwendet eine Stichprobe dessen, was da draußen ist.
Der andere Ansatz besteht darin , den Java-Bytecode zu instrumentieren , um die Start- und Stoppzeit an eine andere Anwendung zurückzumelden.
Das Schreiben eines Profilers ist für einen erfahrenen Java nicht besonders schwierig. IBM hat einen Artikel zum Schreiben eines eigenen Profilers (mit Quellcode!). Dieser basiert auf dem Java Interactive Profiler .
Es gibt eine Vielzahl von Profilern - sowohl kostenlose als auch kommerzielle (wie wäre es mit einem Profiler, der an die Ausführung von JVM-Instanzen angeschlossen ist, die Ihnen Bericht erstatten können (E-Mail oder eine andere Benachrichtigung), wenn bestimmte Methoden die erwartete Laufzeit überschreiten? Programm, das zurückmeldet, wenn Webanfragen zu lange gedauert haben - wurde das historische Profil für diese Anfrage zur späteren Überprüfung gespeichert?). Sie müssen nur wissen, wonach Sie suchen, um sie zu finden und von dort fortzufahren.
Sobald Sie den Profiler haben, können Sie die Profilerstellungsergebnisse interpretieren .