Module jdk.jfr

Class RecordingFile

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 Details

    • RecordingFile

      public RecordingFile(Path file) throws IOException
      Creates a recording file.

      Only recording files from trusted sources should be used.

      Parameters:
      file - the path of the file to open, not null
      Throws:
      IOException - if it's not a valid recording file, or an I/O error occurred
      NoSuchFileException - if the file can't be located
      SecurityException - if a security manager exists and its checkRead method denies read access to the file.
  • Method Details

    • 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 file
      IOException - if an I/O error occurs
      See Also:
    • hasMoreEvents

      public boolean hasMoreEvents()
      Returns true if unread events exist in the recording file, false otherwise.
      Returns:
      true if unread events exist in the recording, false otherwise.
    • 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:
    • close

      public void close() throws IOException
      Closes this recording file and releases any system resources that are associated with it.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      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.

      Only recording files from trusted sources should be used.

      Parameters:
      path - the path to the file, not null
      Returns:
      the events from the file as a List object; whether the List is modifiable or not is implementation dependent and therefore not specified, not null
      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 parsed
      SecurityException - if a security manager exists and its checkRead method denies read access to the file.