RFR: 6988: Initial implementation of JFR binary format writer [v4]

Jaroslav Bachorik jbachorik at openjdk.java.net
Fri Jan 8 16:16:16 UTC 2021


> This is an initial implementation of JFR binary format writer in Java.
> The writer can write valid JFR files according to what is expected by the JMC JFR format reader.
> The writer is not complete in terms of performance and event settings support but in spite of that it is fairly usable.
> 
> The typical flow is:
> 
> 1. Obtain a new instance of Recording
>  java
> Recording r = new Recording()
> 2. Register custom types for that recording
>  java
> r.registerType(name, structure)
> 3. Get a new Chunk instance
>  java
> Chunk c = r.newChunk()
> 4. Write event values
>  java
> c.writeEvent(eventValue)
> 5. Finish the chunk and get the binary data
>  java
> byte[] data = c.finish()
> 
> 
> For more complex usage check [ChunkComplexTest.java](https://github.com/openjdk/jmc/blob/4c2dd1407f462feae40b795d3a4c6d75544b4e82/core/org.openjdk.jmc.flightrecorder.writer/src/test/java/org/openjdk/jmc/flightrecorder/writer/ChunkComplexTest.java).

Jaroslav Bachorik has updated the pull request incrementally with one additional commit since the last revision:

  Lombok cleanup

-------------

Changes:
  - all: https://git.openjdk.java.net/jmc/pull/84/files
  - new: https://git.openjdk.java.net/jmc/pull/84/files/a2178829..69e1e028

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jmc&pr=84&range=03
 - incr: https://webrevs.openjdk.java.net/?repo=jmc&pr=84&range=02-03

  Stats: 225 lines in 17 files changed: 145 ins; 73 del; 7 mod
  Patch: https://git.openjdk.java.net/jmc/pull/84.diff
  Fetch: git fetch https://git.openjdk.java.net/jmc pull/84/head:pull/84

PR: https://git.openjdk.java.net/jmc/pull/84


More information about the jmc-dev mailing list