Как использовать VisualVM для получения времени, затрачиваемого каждой функцией

VisualVM - хороший, но немного сложный инструмент для меня.

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

Ответ 2

Это на самом деле просто. Запустите программу, и она автоматически появится в процессе работы в VisualVM Panel. Нажмите на нее и перейдите прямо на вкладку Sampler. Finnaly, нажмите на CPU и бинго! Там вы можете увидеть время, которое выполняет каждая функция! (здорово!)

Ответ 3

Для исчерпывающего анализа необходимо использовать альтернативный инструмент, например, JProfiler.

Согласно тому, что @TomasHurka говорит, что вы можете профилировать также с помощью VisualVM (https://blogs.oracle.com/nbprofiler/entry/profiling_with_visualvm_part_1)

Ответ 4

Это может быть немного полезно для вас.

Используйте разницу во времени, чтобы вычислить выполнение, сделав метод возвратом чего-то.

  long before = System.currentTimeMillis();
  String responseFromMethod=methodCall(); // String value returned from method

  long totalResponseTime=((System.currentTimeMillis() - before )/1000); 

Вы можете сохранить значение счетчика, сколько раз вы вызываете функцию.

Для VisualVM вы можете использовать Eclipse MAT для анализа heapdump. Он объяснит, где ваша программа нуждается в улучшении.

Благодаря,