Провайдеры Java с открытым исходным кодом

Что вы, ребята, можете рекомендовать для использования с Java?

Только требование должно быть открытым исходным кодом или не слишком дорогостоящей академической лицензией.

Ответ 1

VisualVM, который поставляется с jdk6, имеет базовый профайлер внутри него. VisualVM поставляется с jdk, поэтому, если у вас установлен jdk6, вероятно, он также будет установлен.

https://visualvm.github.io/

Ответ 2

у вас есть список здесь (перечисление их ниже, в случае, если ссылка повреждена)

  • JMemProf
  • JMP
  • DrMem
  • JTreeProfiler
  • Профилировщик NetBeans
  • API JAMon
  • JBoss Profiler
  • MessAdmin
  • инфракрасный
  • TomcatProbe
  • Java Interactive Profiler (JIP)
  • Profiler4j
  • Секундомер
  • JMeasurement
  • DJProf
  • TIJmp
  • Allmon
  • AppSpy
  • EurekaJ
  • Джепекс
  • Профилировщик OKTECH
  • Perf4j

Ответ 3

Ах. Netbeans Profiler, победитель конкурса "Продукт года" в 2009 году.

Ответ 4

Java имеет базовый встроенный профайлер под названием HProf. Я считаю полезным сравнить результаты, которые он дает с результатами более полнопрофилируемых профилей.

Ответ 5

Инструмент с открытым исходным кодом jvmtop включает базовый профилировщик консоли. Пример вывода:

 JvmTop 0.7.0 alpha - 15:16:34,  amd64,  8 cpus, Linux 2.6.32-27, load avg 0.41
 http://code.google.com/p/jvmtop

 Profiling PID 24015: org.apache.catalina.startup.Bootstrap

  36.16% (    57.57s) hudson.model.AbstractBuild.calcChangeSet()
  30.36% (    48.33s) hudson.scm.SubversionChangeLogParser.parse()
   7.14% (    11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
   6.25% (     9.95s) net.sf.json.JSONObject.write()
   3.13% (     4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()

Ответ 7

Если вы ищете без излишеств, простой в использовании профилировщик с открытым исходным кодом, вы можете взглянуть на Jip (Java Interactive Profiler). Он опубликован под лицензией BSD. Я нашел, что это очень полезно для небольших программ. По крайней мере, результаты, которые он дает, легче понять, чем вывод hprofs.

Ответ 8

Java Mission Control, он может свободно использоваться для разработки и интегрируется с Eclipse. Он имеет очень низкие накладные расходы (<1%), поскольку он копирует данные, собираемые JVM.

Он очень прост в использовании и может также предоставить много информации, которую вы обычно не найдете в других инструментах профилирования, например, профилирование латентности, проверка в режиме онлайн-памяти, подробная статистика gc

Ответ 10

NetBeans IDE включает бесплатный профайлер.

Кроме того, если я правильно помню, академическая лицензия для JProfiler (относительно) недорогая.

Ответ 11

JVM Monitor - это профилировщик Java, интегрированный с Eclipse для мониторинга использования процессоров, потоков и памяти приложений Java.

Если необходим дальнейший глубокий анализ, вы можете использовать другие инструменты (например, TPTP, Memory Analyzer) в качестве следующего шага.

Ответ 12

Рассмотрим передовые https://github.com/jvm-profiling-tools/async-profiler

Этот проект является профилировщиком выборки с низкими издержками для Java, который не страдает от проблемы смещения Safepoint. Он имеет специфичные для HotSpot API-интерфейсы для сбора следов стека и отслеживания распределения памяти. Профилировщик работает с OpenJDK, Oracle JDK и другими средами исполнения Java на основе HotSpot JVM.

Он также встроен в IntelliJ IDEA Ultimate: https://www.jetbrains.com/help/idea/cpu-profiler.html.


Также есть похожие https://github.com/jvm-profiling-tools/honest-profiler.

Сравнение между async-profiler и honest-profiler: https://github.com/jvm-profiling-tools/async-profiler/issues/77