Удаленное тестирование приложения Scala / Java во время выполнения - PullRequest
4 голосов
/ 20 декабря 2011

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

Но внезапно у меня возникло странное ощущение, что универсальная структура для такого дистанционного зондирования уже должна существовать.Итак, вот вопрос: есть ли библиотека, которая уже поддерживает такие функции для Scala / Java?Я не ищу решение для "полной удаленной отладки", но что-то минималистичное, которое позволяет легко расширять и проверять.

Ответы [ 4 ]

3 голосов
/ 20 декабря 2011

Вы пробовали jvisualvm ?

Он поставляется с JDK. Попробуйте запустить его и посмотреть, соответствует ли он вашим требованиям ...

С этой страницы:

Java VisualVM полезна для разработчиков приложений Java для устранения неполадок приложений и для мониторинга и улучшения производительности приложений. Java VisualVM позволяет разработчикам создавать и анализировать дампы кучи, отслеживать утечки памяти, выполнять и контролировать сборку мусора, и выполнить легкое профилирование памяти и процессора. Существуют также плагины, которые расширить функциональность Java VisualVM. Например, большинство функциональность инструмента JConsole доступна через вкладку MBeans и Плагины JConsole Плагины Wrapper. Вы можете выбрать из каталога стандартные плагины Java VisualVM, выбрав «Инструменты» | «Плагины» в меню Java VisualVM.

Если вы действительно хотите проверять значения во время выполнения в производственной среде, вы можете запустить jvm в режиме отладки и присоединить процесс Eclipse, который позволяет вам устанавливать точки останова и исследовать переменные. Однако у вас могут быть проблемы с производительностью. См. Удаленная отладка с Eclipse .

2 голосов
/ 20 декабря 2011

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

1 голос
/ 21 декабря 2011

JMX, безусловно, ваш лучший выбор здесь. Он позволяет отслеживать множество стандартных вещей, а также позволяет расширять данные, которые вы можете отслеживать, создавая и публикуя то, что называется «MBeans». Лучше всего, если вы используете JDK 6 или более поздней версии, вы все готовы запустить его (по крайней мере, в локальном режиме). В вашей установке JDK вы найдете приложение под названием "jconsole". Запустите его, и вы увидите мониторинг любого процесса Java, работающего на вашем компьютере.

0 голосов
/ 25 декабря 2011

Может быть, вы могли бы использовать JavaScript на этой консоли?Это расширяемый и простой в реализации.

Я использовал Apache Mina и javax.script для этого: Как добавить удаленную консоль JS на ваш сервер Scala

В основном,это то же самое, что вы описали в своем вопросе - вы указываете telnet на порт и набираете команды (почти любые команды).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...