У меня есть несколько компонентов JMX, которые предоставляют информацию о производительности моего приложения. Я хотел бы иметь какое-то средство для отображения атрибута MBean на графике для мониторинга (а-ля Windows Perf Mon). Мне нравится то, что поставляется с JConsole и VisualVM, но я не смог найти хороший плагин, который позволил бы мне выбрать атрибут в MBean и отслеживать его. У кого-нибудь есть идеи?
Простой графический монитор MBean
Ответы (5)
Вы можете попробовать JRockit Mission Control. Это позволяет вам настраивать пользовательский интерфейс с вашими собственными графиками, таблицами и даже циферблатами для атрибутов MBean, которые вы хотите отслеживать.
Настроенный пользовательский интерфейс хранится в каталоге рабочей области, по умолчанию в вашем домашнем каталоге, но вы можете иметь несколько рабочих областей и запускать Mission Control с той, которую хотите использовать.
jrcm.exe -data c:/application1
jrcm.exe -data c:/application2
Вы можете отображать числовые значения JMX в VisualVM, двойной щелчок по числовым значениям атрибутов отобразит диаграмму, отображающую изменения в этом числовом значении.
Например, двойной щелчок на атрибуте CollectionTime сборщика мусора MBean MarksweepCompact отобразит время, затраченное на сборку мусора.
@см. http://visualvm.java.net/mbeans_tab.html
Да, если дважды щелкнуть числовое значение атрибута, jconsole автоматически начнет опрос и построение диаграммы в реальном времени для этого атрибута. Это именно то, что я ищу, интересно... Но я хотел бы отметить, что это относится только к атрибуту только для чтения с числовым значением.
Опрос переменных JMX относительно прост. Презентация, возможно, больше боли.
Для компонента диаграмм вы можете проверить JFreeChart. Хотя это не пакет для построения графиков в реальном времени, на самом деле он достаточно эффективен для приложений такого типа. Ознакомьтесь с некоторыми примерами здесь.
JRDS сделает то, что вы хотите. Это немного сложно настроить, но как только вы разберетесь с конфигурацией, вы сможете создавать графики для ваших атрибутов JMX. Он использует RRD4j (как rrd, но в java) под прикрытием, поэтому он также может хранить «свернутые» исторические данные для вас.