Профилирование ядра Java для проверки статистики метода и задержки на каждом счетчике - PullRequest
0 голосов
/ 14 октября 2018
//method 1 & 2 contain calls to a number of other methods
for(int i=0; i<100;i++) {
    method1();
    method2();
}

Я хотел бы профилировать вышеупомянутый код Java на каждом счетчике 'i' цикла и получать статистику метода (в частности, задержку выполнения) для каждого значения i.

Методыmethod1 () и method2 () содержат вызовы других методов, включая вызовы методов из их зависимостей.

Как я могу профилировать свой код на каждом счетчике?Я не думаю, что это возможно с JProfiler.

1 Ответ

0 голосов
/ 14 октября 2018

В JProfiler это возможно при методе разделения .Прежде всего, вам следует заключить вызовы в method1 и method2 в другой метод и передать i в качестве параметра:

...

for(int i=0; i<100;i++) {
   measure(i);
}

...

void measure(int i) {
   method1();
   method2();
}

Затем профилировать код, перейти к дереву вызовов, выбратьметод measure и выберите Split Method With a Script в контекстном меню.В появившемся диалоговом окне сценария настройте String.valueOf(i) в качестве сценария.Для следующего прогона профилирования вы получите самые медленные исполнения measure отдельно в дереве вызовов.

...