0

Общее время выполнения методов в Java VisualVM

11

В Java VisualVM есть ли возможность отображать общее время выполнения метода, а не только "время самостоятельного выполнения"? (Последнее не особенно полезно, так как не дает информации о том, сколько времени на самом деле занимает выполнение методов.)

Если такой возможности нет, существует ли бесплатный самостоятельный Java-профайлер, который вычисляет общее время выполнения методов?

4 ответ(ов)

0

При просмотре данных трассировки в режиме "snapshot" у вас есть возможность видеть как общее время, так и время выполнения метода без учета дочерних вызовов.

Для этого нажмите кнопку "snapshot", которая появляется над таблицей с результатами. Это создаст новую вкладку с представлением "Call Tree", где будет детализировано распределение времени: общее и время без учета дочерних вызовов. Режим "combined" также предоставляет эту информацию, но делит экран на две части, добавляя представление "Hot Spots", которое похоже на стандартный режим профилирования.

Снэшоты можно создавать как из данных обычного "Profiler", так и из данных "Sampler". Однако снэшоты "Profiler" можно создавать только до закрытия приложения, тогда как снэшоты "Sampler" можно создавать в любое время.

(Приведенная информация относится к VisualVM версии 1.3.1)

0

Просто сделайте снимок результатов профилирования. Вы получите время реального выполнения (wall-clock time), а также время самоисполнения (self time).

0

Вы, похоже, хотите узнать, сколько времени занимает выполнение каждого метода. В таком случае вам стоит использовать JETM для мониторинга производительности. Это позволит вам получить время входа, время выхода и разницу во времени для каждого метода, что поможет определить, сколько времени уходит на выполнение каждого из них.

Если вы используете Spring, интеграция JETM становится довольно простой. Вы можете ознакомиться с инструкцией по интеграции здесь: http://jetm.void.fm/howto/spring_2_x_integration.html.

0

Вы можете использовать JProfiler или некоторые инструменты на основе Java Agent для мониторинга времени выполнения методов. Существуют также некоторые открытые инструменты на GitHub, такие как SimpleAPM.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь