我需要一个Java飞行记录来诊断生产Weblogic服务器上的性能问题。我还想了解Weblogic事件。从Java任务控制(或者在我的例子中是JCMD)开始飞行记录和启动WLDF诊断图像捕获之间有什么区别吗?我知道WLDF除了包含.jfr之外还包含压缩文件,但是现在我只对带有HotspotJVM和Weblogic的飞行记录(.jfr)感兴趣。
我之所以问这个问题,是因为我注意到了WLDF文档中名为Configure诊断卷(off、low、中等、高)的内容,其中设置了要记录的Weblogic事件类型。在weblogic实例上从JCMD开始飞行记录是否包括预先配置的诊断卷上的Weblogic事件?还是需要从Weblogic控制台启动它?
发布于 2018-03-13 10:03:27
在WLS中没有连续轮询机制来查看是否已使用jcmd或JMC启动记录,如果已启动,则启用WLDF事件。
您必须在WLDF 1中分别启用它们,当您这样做时,还会得到与创建默认记录时大致相同的JVM事件。如果您需要更详细的信息(概要文件),则需要启动两个单独的重新编码。
1最好知道WLDF事件是使用字节码工具添加的,所以在启用诊断特性之前,这些事件甚至不在代码中。
发布于 2018-03-13 09:22:41
所有记录在飞行记录器中的东西都被记录在同一个缓冲器中。见http://hirt.se/blog/?p=370。也就是说,WLDF仪器设置将节流实际记录的内容。因此,有各种不同的方式来实现你想要的。首先要做的是确保您已经启用了WLDF中的诊断卷来记录您希望WLDF记录到飞行记录器中的任何内容。例如“高”。
接下来,您可以:
第一种选择的优点是,您感兴趣的事件总是可用的,即使您转储了任意的时间段。在其他两种选择中,它们只适用于您运行(可能)有时间限制的录制时间。其他选项的优点是,您只在运行记录时支付附加事件的额外开销(通常很小)。
https://stackoverflow.com/questions/49242242
复制相似问题