我有一个包含20,000多个对象的大型分布式应用程序。我希望能够在外部连接到这个正在运行的JVM,并随时查看任意对象及其属性。
例如,如果我有来自以下类的一些对象实例
class Temp {
int attribute = 0;
String name = "John";
}
我希望能够连接到JVM并查看此类的所有实例及其attribute
和name
值。
我相信这可以通过堆转储实现,但鉴于应用程序,这将是非常昂贵的。此外,当大小在1GB +范围内时,分析这样的堆转储极具挑战性。是否有其他实用程序可以提供所有对象的触发快照?或者也许是解决我问题的更聪明的方法?
我查看了JConsole和Java Flight Recorder,但这些并未提供我需要的功能。还有其他建议吗?