Лучший и безопасный Java Profiler для использования в производстве? [закрытый]
Я ищу профилировщик Java для использования в производственной среде с очень высоким спросом, коммерческой или бесплатной, которая отвечает всем следующим требованиям:
- легкая интеграция с кодом (без перекомпиляции со специальными опциями, без кодовых крючков и т. д.). Отбрасываем некоторые профилировщики .банки рядом с кодом приложения в порядке.
- должна быть возможность подключения/отключения к JVM без перезапуска приложения.
- для профилирования не активен, не влияет на производительность
- когда профилирование активно, незначительное влияние на производительность. Очень небольшое ухудшение приемлемо.
- должен делать все "ожидаемые" вещи, которые делает профилировщик-время, затраченное в каждом методе, чтобы найти горячие точки,выделение объекта / профилирование памяти и т. д.
по сути, мне нужно что-то, что может сидеть в спячке в производстве, когда все в порядке, никто не знает или не заботится о том, что он есть, но затем сможет подключиться к нему хлопот (и снижение производительности) бесплатно определить трудно найти проблемы, такие как горячие точки и проблемы синхронизации.
10 ответов
Java VisualVM-это инструмент, который предоставляет визуальный интерфейс для просмотра подробной информации о приложениях на основе технологии Java (Java applications) во время их работы на виртуальной машине Java (JVM). Java VisualVM организует данные JVM, которые извлекаются средствами Java Development Kit (JDK), и представляет информацию таким образом, что позволяет быстро просматривать данные в нескольких приложениях Java. Можно просматривать данные о локальных приложениях и приложениях, запущенных на удаленном компьютере принимать гостей. Вы также можете захватить данные о программном обеспечении JVM и сохранить данные в локальной системе, а затем просмотреть данные позже или поделиться данными с другими. Это поставляется с Oracle JDK IT self...
$ jvisualvm
предпочитаю Java Flight Recorder. Это не вызывает почти никаких накладных расходов производительности и имеет хороший графический интерфейс. Добавить параметры JVM
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true
и откройте запись с помощью JMC.
Я использую проект Платформы Eclipse TPTP - Eclipse Test & Performance Tools. Подходит ли он для производственного использования или нет, зависит от пользователя. Для меня это нормально, и это соответствует вашим потребностям.
другой вариант -http://www.newrelic.com/. Мы используем его в производстве в течение некоторого времени, и он кажется довольно надежным и эффективным. Простой в настройке (один .опция командной строки jar и A-agent).
есть еще один новый вариант под названием javosize
когда я искал "лучший Java profiler" в google, я увидел на первой неоплачиваемой ссылке (это блог) тот же инструмент в комментариях к сообщению:
надеюсь, что это помогает!
Edit: как говорят комментарии, ссылка linkedin-это частный форум. Прости за это. Вот ссылка на основной сайт:
Fusionreactor Java Application Performance Monitor, также включает в себя очень низкие накладные расходы Java Profiler как часть своего портфолио функций. http://www.fusion-reactor.com/production-java-profiler/ FusionReactor может быть установлен в течение нескольких минут, и у них есть бесплатная 14-дневная пробная версия, чтобы проверить его.
посмотри Java Mission Control в сочетании с Самописцам. Начиная с выпуска Oracle JDK 7 Update 40 (7u40), Java Mission Control поставляется в комплекте с HotSpot JVM, поэтому он высоко интегрирован и претендует на небольшое влияние на производительность во время выполнения. Он имеет функциональность дерева вызовов, такую как Callgrind.