Class ChunkReader
- java.lang.Object
-
- org.openjdk.jmc.flightrecorder.util.ChunkReader
-
public final class ChunkReader extends java.lang.ObjectProvides an efficient means to read JFR data, chunk by chunk. The actual method employed will depend on whether the JFR file is available as a stream or as a file, and whether or not the data is compressed or not.Each chunk will be self-contained and parsable, for example by wrapping it in a
ByteArrayInputStreamand using theJfrLoaderToolkit.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidmain(java.lang.String[] args)Program for listing the number of chunks in a recording.static java.util.Iterator<byte[]>readChunks(java.io.File jfrFile)Reads a JFR file, chunk by chunk.static java.util.Iterator<byte[]>readChunks(java.io.InputStream jfrStream)Reads a JFR file, chunk by chunk, from a stream.
-
-
-
Method Detail
-
readChunks
public static java.util.Iterator<byte[]> readChunks(java.io.File jfrFile) throws java.io.IOExceptionReads a JFR file, chunk by chunk.Each chunk will be self contained and parsable, for example by wrapping it in a
ByteArrayInputStream. Note thatIterator.next()can throwIllegalArgumentExceptionif it encounters a corrupted chunk.- Parameters:
jfrFile- the file to read binary data from- Returns:
- returns an iterator over byte arrays, where each byte array is a self containing jfr chunk
- Throws:
java.io.IOException
-
readChunks
public static java.util.Iterator<byte[]> readChunks(java.io.InputStream jfrStream) throws java.io.IOExceptionReads a JFR file, chunk by chunk, from a stream.Each chunk will be self contained and parsable, for example by wrapping it in a
ByteArrayInputStream. Note thatIterator.next()can throwIllegalArgumentExceptionif it encounters a corrupted chunk.- Parameters:
jfrStream- the stream to read binary data from- Returns:
- returns an iterator over byte arrays, where each byte array is a self containing JFR chunk
- Throws:
java.io.IOException
-
main
public static void main(java.lang.String[] args) throws java.io.IOExceptionProgram for listing the number of chunks in a recording.- Parameters:
args- takes one argument, which must be the path to a recording- Throws:
java.io.IOException- if there was a problem reading the file
-
-