The JFR team is prototyping streaming capabilities planned for the near future; See
In the streaming scenario, the file is more loose in regards to implicit ordering (established historically) of events. The constant pool (event id 1) and the metadata section (event id 0) can, for example, be written at the start of the chunk,
The reference parser in the JDK reads the file header to find the correct offset and can therefore read "streaming recordings". A suspicion is that the JMC parser only reads up to the first metadata event? The reason for this claim is that traditionally, this has been the last event in the chunk
This will no longer be the case. Changing the JMC 7.0 parser so it works as the reference parser will simplify for users and everybody involved using the two parsers. För example, JMC 7.0 will not e able to read a JDK 12 recording. Here are two recordings, one created using streaming and the other not:
This is a small change to JMC parser and should not be hard to do.