2011-12-20 111 views
4

探测斯卡拉/ Java应用程序的最近,我感到一些东西需要打开我的应用程序,你可以在远程登录端口的,和探测器,如特定结构的内存消耗,打印的内容一个列表等......这极大地方便了在运行时探测部署的解决方案。远程运行系统

但突然间,我有这样的远程探测的通用框架应该已经存在这种奇怪的感觉。所以,这里有一个问题:是否有任何库已经为Scala/Java提供了这些功能?我不是在寻找一个“完整的远程调试”解决方案,而是可以简单扩展和探测的极简主义。

+1

您是否尝试过JMX? – 2011-12-20 16:17:04

回答

2

您可以嵌入ostrich到你的应用。与标准监控工具不同,它具有重量轻和可读的数据表示。你不仅会看到系统度量标准,而且还会看到你可能会计算出的任何数据

3

你试过jvisualvm

它带有jdk。尝试运行它,看看它是否符合您的要求......

在这个页面:

的Java VisualVM的是有用的Java应用程序开发解决 应用和监控,提高应用程序的性能。 的Java的VisualVM可以让开发人员能够生成和分析堆转储, 跟踪内存泄露,执行和监督垃圾回收和 执行轻量级内存和CPU剖析。插件也存在 扩展Java VisualVM的功能。例如,JConsole工具的大部分功能都可以通过MBeans选项卡和JConsole插件包装插件获得。您可以从 标准Java VisualVM插件目录中选择'Tools'|在'Visual Plugins'菜单中的 '插件'。

如果你真的希望在生产运行探测值,然后就可以开始在调试模式下的JVM,并附加一个Eclipse的过程,它允许您设置断点和检查变量。但是,您可能会遇到性能问题。见Remote debugging with Eclipse

1

JMX是迄今为止你最好的赌注在这里。它允许监视大量标准的东西,并允许通过创建和发布它所称的“MBeans”来扩展可监控的数据。最重要的是,如果您运行的是JDK 6或更高版本,那么您已经准备好运行它(至少在本地模式下)。在您的JDK安装中,您会找到一个名为“jconsole”的应用程序。运行它,你会看到你的机器上运行的任何java进程的监视。

0

也许你可以在该控制台上使用一些JavaScript?它可扩展且易于实现。

我用于该Apache Minajavax.scriptHow to add remote JS console to your Scala server

基本上,这是你在你的问题中描述的一样的 - 你点的telnet端口,并键入命令(几乎所有的命令)。