To, czego szukasz, to profilowanie :
W inżynierii oprogramowania profilowanie („profilowanie programu”, „profilowanie oprogramowania”) jest formą dynamicznej analizy programu, która mierzy na przykład przestrzeń (pamięć) lub złożoność czasową programu, użycie określonych instrukcji lub częstotliwość i czas trwania wywołań funkcji. Najczęstszym zastosowaniem informacji profilowania jest pomoc w optymalizacji programu.
Istnieje kilka takich aplikacji. Czasami są one wbudowane w samo IDE. Ide Netbeans jest jednym z takich narzędzi, które ma wbudowany profiler .
Kolejnym takim narzędziem jest visual vm .
Profile mogą działać na różne sposoby - należy zdawać sobie sprawę z różnic. Jedno podejście to co sekundę, aby zrobić migawkę uruchomionych wątków i zobaczyć, jakie metody są obecnie wywoływane dla każdego wątku. Wykorzystuje to próbkowanie tego, co tam jest.
Drugim podejściem jest instrumentowanie kodu bajtowego java w celu zgłaszania czasu rozpoczęcia i zakończenia do innej aplikacji.
Pisanie profilera nie jest strasznie trudne dla jednej wykwalifikowanej javy. IBM ma artykuł na temat pisania własnego profilera (z kodem źródłowym!). Ten oparty jest na Java Interactive Profiler .
Istnieje wiele profilerów - zarówno darmowych, jak i komercyjnych (co powiesz na profilera podłączonego do działających instancji JVM, które mogą zgłaszać się do ciebie (e-mail lub inne powiadomienie), gdy określone metody przekraczają oczekiwany czas działania? program, który informuje, gdy żądania internetowe trwały zbyt długo - czy profil historyczny tego żądania został zapisany do późniejszej kontroli?). Musisz tylko wiedzieć, czego szukasz, aby je znaleźć i stamtąd.
Po uzyskaniu narzędzia do profilowania przystąpisz do interpretacji wyników profilowania .