Що ви шукаєте, це профілювання :
В інженерії програмного забезпечення профілювання ("програмне профілювання", "програмне профілювання") - це форма динамічного аналізу програми, яка вимірює, наприклад, простір (пам'ять) або часову складність програми, використання певних інструкцій, частоту і тривалість викликів функцій. Найбільш поширене використання профілюючої інформації - це сприяння оптимізації програми.
Існує кілька таких додатків. Іноді вони вбудовуються в саму IDE. Netbeans ide - це один із таких інструментів, в який вбудований профілер .
Ще один такий інструмент - візуальний vm .
Профілі можуть працювати різними способами - і слід знати про відмінності. Один підхід полягає в кожній секунді, щоб зробити знімок запущених потоків і подивитися, які методи використовуються в даний момент для кожного потоку. Для цього використовується вибірка того, що там є.
Інший підхід полягає в приєднанні байт-коду Java, щоб повідомити про початок і час зупинки іншій програмі.
Написати профілера не дуже страшно для одного кваліфікованого Java. IBM має статтю про написання власного профілера (з вихідним кодом!). Цей заснований на Java Interactive Profiler .
Існує безліч профілів - як безкоштовних, так і комерційних (як щодо того, як профайлер підключений до запуску екземплярів JVM, які можуть повідомити вам про це (електронною поштою чи іншим сповіщенням), коли конкретні методи перевищують очікуваний час роботи або підключені до програма, яка звітує назад, коли веб-запити зайняли занадто багато часу - чи зберегти історичний профіль для цього запиту для подальшої перевірки?). Ви просто повинні знати, що шукаєте, щоб почати їх знаходити і відправлятися звідти.
Після того, як ви отримаєте профілера, ви переходите до інтерпретації результатів профілювання .