Нужен бесплатный профилировщик выполнения методов Java, который работает с Eclipse в Windows.

Я прочитал несколько других вопросов о SO, касающихся профилировщиков Java, но я не нашел ничего, что соответствовало бы моим потребностям.

Вот функции, которые мне нужны:

  • Профилировщик Java, который будет работать с Java 1.6.0_18 (32-разрядная версия)
  • Бесплатно для коммерческого использования (в моей организации пробные версии программ запрещены)
  • Возможность отображать время выполнения метода, чтобы я мог найти узкие места (это будет мое основное использование профилировщика)
  • Хорошо работает с Eclipse (моя организация не использует NetBeans)
  • Работает на WindowsXP

Кроме того, эти функции было бы «хорошо иметь»:

  • Графический дисплей, а не текстовый вывод
  • Возможность показать использование памяти и процессора
  • Возможность профилировать выполнение JUnit, который я запускаю вручную из Eclipse, а не профилировать сервер (например, Tomcat)
  • Также работает на Linux

По рекомендации другого вопроса я только что скачал VisualVM 1.3 и попробовал. Он не работал должным образом на моей рабочей станции и плохо интегрировался с Eclipse, так что он исключен из моего списка.

Какие-либо предложения?


person Jim Tough    schedule 15.02.2011    source источник
comment
VisualVM хорошо интегрируется с Eclipse. См. visualvm.dev.java.net/eclipse-launcher.html. Какие у вас проблемы с этим?   -  person Tarski    schedule 15.02.2011
comment
Я запустил VisualVM сам по себе, и он начал профилировать себя. Все идет нормально. Затем я запустил Eclipse, и VisualVM показал в своем списке неизвестное приложение. Когда он щелкнул по нему, это вызвало сбой Eclipse с какой-то ошибкой сбоя памяти Windows. Пробовал еще несколько раз с тем же результатом.   -  person Jim Tough    schedule 15.02.2011
comment
Скажем, Джим, пока вы ищете средство измерения, вы можете найти свои узкие места с помощью этот метод. Многие люди так делают.   -  person Mike Dunlavey    schedule 15.02.2011
comment
Поверьте, VisualVM, который поставляется с JDK 6+, также может генерировать дампы потоков.   -  person orangepips    schedule 15.02.2011


Ответы (3)


Профилировщик eclipse является подпроектом TPTP (Проект инструментов тестирования и производительности).

Существует одна статья 2006 года, в которой показано, как использовать профайлер (версия 2006 года)

person Andreas Dolk    schedule 15.02.2011
comment
Я был обеспокоен тем, что на их странице говорится, что проект TPTP выводится из эксплуатации: eclipse. org/tptp/home/project_info/devplans/ - person Jim Tough; 15.02.2011
comment
Хорошо, не знал об этом, но: После многих успешных выпусков TPTP проект развивался и совершенствовался - IAW - он работает (созревает), и пока мы не используем новый Особенности языка Java 7, это должен быть очень надежный инструмент. - person Andreas Dolk; 15.02.2011
comment
Кто-то в моем офисе также рекомендовал TPTP. Я держу это в своем списке "может быть". Мне нужно обновить мою версию Eclipse (и переустановить все мои плагины), чтобы использовать последнюю версию TPTP, поэтому мне придется подождать пару дней, пока у меня не будет времени. Все еще даю вам голос, так как это может быть жизнеспособным решением. - person Jim Tough; 15.02.2011
comment
@Jim Tough: просто установите другую версию eclipse в другой каталог и добавьте этот плагин. - person orangepips; 15.02.2011
comment
@orangepips Я только что распаковал универсальный дистрибутив TPTP с их веб-страницы. Это версия Eclipse Helios (1.6), предварительно настроенная со всеми необходимыми подключаемыми модулями для использования TPTP. Это работает, но когда я профилирую, исполняемый код работает ОЧЕНЬ медленно. Тем не менее, это дало мне полезную информацию для работы. Спасибо вам и Andreas_D за рекомендации. - person Jim Tough; 15.02.2011

Что насчет CodePro Profiler , который теперь предоставляется Google бесплатно .

person secmask    schedule 15.02.2011
comment
Это не «бесплатно». Я только что проверил страницу по ссылке, которую вы указали выше. Существует один вариант получения пробного лицензионного ключа, а другой — использования приобретенного лицензионного ключа. Это может помочь кому-то еще, но меня не интересует пробная версия. - person Jim Tough; 15.02.2011

Я использовал Java VisualVM, который поставляется с Sun/Oracle JDK 6.0. Он не интегрируется с Eclipse, но и не мешает. (В настоящее время я профилирую плагины Eclipse).

Я исследовал TPTP, но обнаружил, что его сложно настроить и что-то вроде памяти.

person Richard Miskin    schedule 15.02.2011