Nie wiem zbyt wiele o narzędziach do profilowania, więc nie zamierzam polecać narzędzia do profilowania.
Zamiast tego, użyłbym AspectJ do wstrzyknięcia logowań (Log4j) do mojego kodu. Jeśli wiesz o pewnych obszarach, o których wiesz, że chcesz monitorować, po prostu wprowadź dane logowania w tych konkretnych punktach. W przeciwnym razie, jeśli chcesz spojrzeć na wszystko, możesz uogólnić swoje punkty i wstrzyknąć wszystko.
Odbierz dzienniki przez tydzień, a następnie sprawdź, co może zachowywać się "nieregularnie". Te pliki dziennika będzie prawdopodobnie dość długi w zależności od tego, co zdecydujesz się zalogować, więc może trzeba użyć jakiś plik parsowania zbierać informacje, takie jak:
- # połączeń z każdej metody
- czasu pomiędzy pewnych wywołań metod
- Jestem pewien, że można myśleć o innych na podstawie znajomości specyfiki aplikacji
Porównanie tych liczb z początku tygodnia, gdy z tych nurkowań skuteczności. Jeśli dostaniesz zauważalne trafienia wydajnościowe, to wyobrażam sobie, że będą one w oczywisty sposób odzwierciedlone w plikach logów tego typu.
Może to być nieco więcej pracy niż uruchamianie narzędzia profilowania poza polem, ale jest dość elastyczne i może być dobrym doświadczeniem, jeśli wcześniej nie zrobiłeś wiele z AspectJ.