Java Mission Control - запись значений Mbean

Можно ли записать значения в mbeans с помощью устройства записи полетов? Когда я наблюдаю за своим сервером в режиме Mbean, я строю график java.lang.management.OperatingSystemMXBean.getSystemLoadAverage() который прекрасно работает Я также хотел бы получить это значение в дампе записи полета.

В мастере записи полетов я могу выбирать только события, нет доступных опций mbeans. Есть какой-либо способ сделать это?

3 ответа

Вы можете добавить эту функцию самостоятельно; хотя вам придется полагаться на неподдерживаемый API для создания событий JFR:

http://hirt.se/blog/?p=444

Вы можете, например, создать агент Java, который многократно выбирает интересующие вас значения и записывает их как события регистратора полета.

Если хотите, я мог бы создать такого агента. Сделал бы хороший пост в блоге, так что я бы не стал возражать.;)

Это зависит от того, какой атрибут в OperatingSystemMXBean вас интересует, некоторые из них уже доступны как события JFR, например ProcessCpuLoad.

Я считаю, что некоторые из более ориентированных на ОС значений, таких как пространство подкачки, в настоящее время не имеют соответствующих событий JFR. Они могут быть добавлены в будущем.

В общем, запись данных из mbeans в JFR - это не то, чем мы занимаемся, я не думаю, что это также предусмотрено ни в одной дорожной карте.

Есть возможность отследить данные Mbean и сохранить их (называемые "Постоянство данных JMX" или "Исторические данные" в зависимости от вашей версии JMC), но я предполагаю, что это не то, что вам нужно.

Добавление нового ответа, поскольку я реализовал агента, который я предложил в своем первом ответе:

Самый простой способ - скачать и использовать агент, который я внедрил и добавил в свой блог здесь: hirt.se/blog/?p=689

Другие вопросы по тегам