gpt4 book ai didi

java - jstatd/visualgc 的控制台客户端

转载 作者:太空宇宙 更新时间:2023-11-04 07:37:02 24 4
gpt4 key购买 nike

VisualVM/VisualGC 实时提供了大量有用的 GC 相关指标,但我想要一个命令行工具,可以通过 jstatd 连接到远程应用程序,并在 CSV 或 XML 中记录最好与 VisualGC 提供的指标完全相同的指标。自己写应该不成问题,但乍一看我找不到 VisualVM/jstatd 使用的协议(protocol)。

据我了解 VisualGC 不是开源的:https://stackoverflow.com/questions/11096466/where-is-the-source-code-repository-for-visualgc ,但是有其他开源工具吗?关于所使用的协议(protocol)有什么线索吗?

我设法通过 RMI 连接到 jstatd(默认端口 1099,JStatRemoteHost 是 rmi 名称),可以附加到特定 VM - 但 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/sun/jvmstat/monitor/remote/RemoteVm.java#RemoteVm是 jstatd 的一个非常低级的接口(interface)。

我已经从https://svn.java.net/svn/visualvm~svn/trunk查看了VisualVM源代码刚刚开始查看 5mb 代码库,但它既不使用 RemoteHost 也不使用 RemoteVm RMI 类。

谢谢。

最佳答案

首先,我查看了 VisualVM 的源代码(~5mb),创建了一个命令行工具,在 JvmstatModelFactory 上注册 JvmstatModelProvider,获取应用程序,创建 JvmJvmstatModel 并提取所有 MonitoredValues - 它通过 jstatd 连接到远程应用程序,并以 timeMillis,name,value 格式打印更改的值1369270235646,sun.gc. Generation.2.space.0.capacity,167772161369270236666,sun.os.hrt.ticks,25115004911369270237581,sun.gc. Generation.0.space.0.used,6414081369270237582,sun.os.hrt.ticks,2512502544

一小时后,我找到了适合我的任务的命令行工具 https://code.google.com/p/hatter-source-code/wiki/hotstat ,它不使用 jstatd - 但没关系,我仍然可以通过 ssh 远程运行它。

关于java - jstatd/visualgc 的控制台客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16701283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com