java - 我在 JMC 中看不到异常详细信息

标签 java profiling jfr jmc

enter image description here

在我的 Spring Boot 应用程序负载过重后,我使用 JMC 打开了 JFR 文件。正如你所看到的,JFR 说有超过 8000 个异常,但它没有显示它们是什么。我如何读取该异常编号?

注意:从应用层来看,没有异常情况,也许底层系统抛出了一些异常,但我看不到它们是什么。

有什么建议吗? 谢谢。

最佳答案

为了保持较低的开销,默认情况下仅记录错误和异常数量。如果您想了解异常类、堆栈跟踪和消息,您需要启用异常事件。

如果您从 JMC 开始录制,您可以在组合框中选择更细粒度的异常信息。

enter image description here

如果您从命令行启动并运行 JDK 17 或更高版本:

$ java -XX:StartFlightRecording:exceptions=all ...

如果您运行的是 JDK 17 之前的 JDK 版本,则可以使用 JMC 中的模板管理器(窗口 -> 飞行记录器模板管理器)并创建自定义配置,其方式与记录向导类似(使用编辑按钮)。您可以将配置导出到文件,即 my.jfc,并使用它来启动 JFR:

$ java -XX:StartFlightRecording=settings=my.jfc ...

关于java - 我在 JMC 中看不到异常详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73068381/

相关文章:

java - Spring security 3 在使用 OpenID 进行身份验证时忽略禁用/锁定标志

java - 以接口(interface)作为参数的方法

java - 内置 JFR(Java 飞行记录器)事件记录在哪里?

c++ - 如何在 Sieve_of_Eratosthenes 中使用更少的内存

web-applications - 使用 VisualVM 在 JBoss 7 上分析 Web 应用程序

java - 记录 JFR 时出现错误

java - JVM 中对 java.lang.ref.Reference$Lock 上的数组分配的大量锁定

java - OpenCV IP 摄像机 RTSP 流

java - "exploit"java 按值调用是否明智

Java 分析 - 如何通过方法分析我的应用程序获得方法?