javaprofilingjfrjmc

I can't see exception details in JMC


enter image description here

After heavy load of my spring boot application, I opened JFR file with JMC. As you can see JFR says there are more than 8000 exception but it don't show what are they. How can I read that exception number?

Note : From application layer there are no exception cases, maybe underlying systems throws some exception but I couldn't see what are they.

Any suggestions? Thanks.


Solution

  • To keep overhead low, only Errors and the number of exceptions are recorded by default. If you want to know the exception class, stack trace and message, you need to enable the exception event.

    If you are starting the recording from JMC, you can select more fine-grained exception information in the combo box.

    enter image description here

    If you are starting from command line and running JDK 17 or later:

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

    If you are running a JDK version prior to JDK 17, you can use the Template manager in JMC (Window -> Flight Recorder Template Manager) and create a custom configuration, in a similar way as the recording wizard (with the Edit button). You can export the configuration to a file, i.e. my.jfc, and use it to start JFR:

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