首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java飞行记录器中的JVM生存期是否包括异常?

Java飞行记录器中的JVM生存期是否包括异常?
EN

Stack Overflow用户
提问于 2016-04-08 11:35:14
回答 2查看 730关注 0票数 0

我已经在加载的JBoss EAP6.1应用服务器上运行了2分钟的Java飞行记录器。我启用了异常计数(Java => Java => Enabled=true),并对报告的异常数量感到惊讶。

当我查看事件类型为“/ Java”和按“事件线程”分组的Events =>直方图视图时,10个线程每个线程都有超过2000个异常。其中3人有3000多个例外情况。

这是报告的可投掷或错误的创建总数:

代码语言:javascript
复制
Stack Trace                          Sample Count
java.lang.Throwable.<init>()              128 059
java.lang.Throwable.<init>(String)        116 107
java.lang.Throwable.<init>(Throwable)      39 207
java.lang.Error.<init>()                        7
java.lang.Throwable.<init>(String, Throwable)   2

因此,我想知道所有这些异常是在我记录的2分钟内发生的,还是在JVM启动后被计算在内的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-09 07:19:49

直方图选项卡中的"Sample“列汇总了与字段值相关的事件数,在您的示例中,我相信堆栈跟踪的顶部框架。所以,128059这个数字意味着在你的录音过程中,有很多事件是用"java.lang.Throwable.<init>()“的顶部框架发出的。

这可能不是你要找的信息。

我建议使用记录模板来启用异常/错误,并查看异常选项卡,而不是编辑单个事件的设置和使用直方图选项卡。

票数 1
EN

Stack Overflow用户

发布于 2016-04-11 09:25:33

TL;DR: Java异常事件只计算记录期间发生的情况。异常统计事件在JVM生存期(或其他一些'JVM全局‘时间)中计算异常。

有两个不同的数据点,Java异常和Java错误事件,以及Statistics/Throwables事件。如果只查看Java异常/错误,记录中的事件就是在那段时间内发生的事件。统计/Throwable事件有规则的间隔,可能是从JVM的启动阶段,也可能是从JFR引擎的启动阶段,或者是从运行中的JVM中出现的第一个JFR记录的开始阶段。最有趣的是比较这些值之间的关系。此事件显示在“代码/异常”选项卡顶部的两个文本字段中。

还请注意,异常/错误事件发生在构造函数中,而不是实际抛出的时候。

如果您的程序创建了大量Java错误事件,那么对这些事件的双重簿记会出现一些问题,因此这些数字可能是不正确的(这是我们在下一个JMC版本中补偿的,而不是在JMC 5.5中)其他Throwable子类将显示为异常事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36498574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档