On 2019-10-24 16:52, Yasumasa Suenaga wrote:
On 2019/10/24 22:50, Erik Gahlin wrote:
Hi Yasumasa,

The DumpJFR tool relied on SA, which was too much of a burden to maintain (slowing down the development of new JFR features).

I think tool was removed in Oracle JDK 9, at least it was completely broken at that time.

Functionality has been added that allows JFR to dump an emergency dump if the JVM crashes. This reduces the need for a separate tool.

SA is powerful tool for hung up and for postmortem analysis.
For example, SA is only way to gather any information even if Attach Listener does not respond.

There are always trade-offs, and with the crash dump support in place, we came to the conclusion that the cost of maintaining the tool and SA support outweighed the benefits.

JFR emergency dump is not enough.
I commented in JDK-8213435, crash which is caused by -XX:+CrashOnOutOfMemoryError does not contain
recently old object sampling.
Duplicating logic in the SA tool to calculate shortest path GC, information about root objects etc. would be a much larger effort to implement and maintain than fixing JDK-8213435.

In addition, there are some cases not to be called crash handler (e.g. native stack overflow).


The Event Streaming JEP, targeted for JDK 14, should also help out here, as it ensures the latest file in the disk repository, previously known as the .part file, can always read. With a default flush interval of 1 second, data will be available very close to the point of the crash.

Is flight record flushed to the disk without any programming for Event Streaming?
I guess it is just about Event Stream API.

I hope to get flight record with some configuration - not any programming.

Streaming will be always on. No programming or configuration will be needed.

You can just open the latest file in JMC.

Best regards,
Erik



Thanks,

Yasumasa


Best regards,
Erik

Hi all,

DumpJFR tool is introduced in JDK 8u60 [1], however it is not available on OpenJDK (JDK 11 or later).
Why it is not open sourced?

I think DumpJFR is very useful not only for postmortem analysis but also analyzing process hung up. If DumpJFR is available on OpenJDK, I believe JFR will be more useful for troubleshooting.


Thanks,

Yasumasa


[1] https://www.oracle.com/technetwork/java/javase/8u60-relnotes-2620227.html


Reply via email to