Module jdk.jfr

Class RecordingFile

  • All Implemented Interfaces:
    Closeable, AutoCloseable


    public final class RecordingFile
    extends Object
    implements Closeable
    A recording file.

    Example,

     
     try (RecordingFile recordingFile = new RecordingFile(Paths.get("recording.jfr"))) {
       while (recordingFile.hasMoreEvents()) {
         RecordedEvent event = recordingFile.readEvent();
         System.out.println(event);
       }
     }
     
     
    Since:
    9
    • Constructor Detail

      • RecordingFile

        public RecordingFile​(Path file)
                      throws IOException
        Create a recording file.
        Parameters:
        file - 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 file can't be located
        SecurityException - if a security manager exists and its checkRead method denies read access to the file.
    • Method Detail

      • hasMoreEvents

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

        public void close​()
                   throws IOException
        Closes this recording file and releases any system resources 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.

        Note that this method is intended for simple cases where it is convenient to read all events in a single operation. It is not intended for reading large files.

        Parameters:
        path - the path to the file, not null
        Returns:
        the events from the file as a List; 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 Java 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.