- java.lang.Object
-
- jdk.jfr.consumer.RecordingFile
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public final class RecordingFile extends Object implements Closeable
A recording file.The following example shows how read and print all events in a recording file.
try (RecordingFile recordingFile = new RecordingFile(Paths.get("recording.jfr"))) { while (recordingFile.hasMoreEvents()) { RecordedEvent event = recordingFile.readEvent(); System.out.println(event); } }- Since:
- 9
-
-
Constructor Summary
Constructors Constructor Description RecordingFile(Path file)Creates a recording file.
-
Method Summary
Modifier and Type Method Description voidclose()Closes this recording file and releases any system resources that are associated with it.booleanhasMoreEvents()Returnstrueif unread events exist in the recording file,falseotherwise.static List<RecordedEvent>readAllEvents(Path path)Returns a list of all events in a file.RecordedEventreadEvent()Reads the next event in the recording.List<EventType>readEventTypes()Returns a list of all event types in this recording.
-
-
-
Constructor Detail
-
RecordingFile
public RecordingFile(Path file) throws IOException
Creates a recording file.- Parameters:
file- the path of the file to open, notnull- Throws:
IOException- if it's not a valid recording file, or an I/O error occurredNoSuchFileException- if thefilecan't be locatedSecurityException- if a security manager exists and itscheckReadmethod denies read access to the file.
-
-
Method Detail
-
readEvent
public RecordedEvent readEvent() throws IOException
Reads the next event in the recording.- Returns:
- the next event, not
null - Throws:
EOFException- if no more events exist in the recording fileIOException- if an I/O error occurs.- See Also:
hasMoreEvents()
-
hasMoreEvents
public boolean hasMoreEvents()
Returnstrueif unread events exist in the recording file,falseotherwise.- Returns:
trueif unread events exist in the recording,falseotherwise.
-
readEventTypes
public List<EventType> readEventTypes() throws IOException
Returns a list of all event types in this recording.- Returns:
- a list of event types, not
null - Throws:
IOException- if an I/O error occurred while reading from the file- See Also:
hasMoreEvents()
-
close
public void close() throws IOExceptionCloses this recording file and releases any system resources that are associated with it.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException- if an I/O error occurred
-
readAllEvents
public static List<RecordedEvent> readAllEvents(Path path) throws IOException
Returns a list of all events in a file.This method is intended for simple cases where it's convenient to read all events in a single operation. It isn't intended for reading large files.
- Parameters:
path- the path to the file, notnull- Returns:
- the events from the file as a
Listobject; whether theListis modifiable or not is implementation dependent and therefore not specified, notnull - Throws:
IOException- if an I/O error occurred, it's not a Flight Recorder file or a version of a JFR file that can't be parsedSecurityException- if a security manager exists and itscheckReadmethod denies read access to the file.
-
-