VisualVM/VisualGC предоставляет довольно много полезных метрик GC в режиме реального времени, но мне нужен инструмент командной строки, который может подключаться к удаленному приложению через jstatd и записывать в CSV или XML идеально точно такие же показатели, как и в VisualGC. Не должно быть проблем писать самостоятельно, но с первого взгляда я не могу найти, какой протокол использует visualvm/jstatd.консольный клиент для jstatd/visualgc
Как я понимаю, VisualGC не является открытым исходным кодом: https://stackoverflow.com/questions/11096466/where-is-the-source-code-repository-for-visualgc, но есть ли альтернативные инструменты с открытым исходным кодом? Есть ли какие-то подсказки о том, как использовать протокол?
Мне удалось подключиться к jstatd через RMI (порт по умолчанию 1099, JStatRemoteHost - это имя rmi), может подключаться к конкретной виртуальной машине, но http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/jvmstat/monitor/remote/RemoteVm.java#RemoteVm - довольно очень низкоуровневый интерфейс с jstatd.
Я проверил исходный код VisualVM от https://svn.java.net/svn/visualvm~svn/trunk и только начал смотреть на кодовую базу 5mb, однако он не использует ни RemoteHost, ни RMI-классы RemoteVm.
Спасибо.