Class RecordingFile
java.lang.Object
jdk.jfr.consumer.RecordingFile
- All Implemented Interfaces:
Closeable, AutoCloseable
A recording file.
The following example shows how to 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this recording file and releases any system resources that are associated with it.booleanReturnstrueif unread events exist in the recording file,falseotherwise.static List<RecordedEvent> readAllEvents(Path path) Returns a list of all events in a file.Reads the next event in the recording.Returns a list of all event types in this recording.voidwrite(Path destination, Predicate<RecordedEvent> filter) Filter out events and write them to a new file.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
Constructor Details
-
RecordingFile
Creates a recording file.Only recording files from trusted sources should be used.
- 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 located
-
-
Method Details
-
readEvent
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
public boolean hasMoreEvents()Returnstrueif unread events exist in the recording file,falseotherwise.- Returns:
trueif unread events exist in the recording,falseotherwise.
-
readEventTypes
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
Closes 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
-
write
Filter out events and write them to a new file.- Parameters:
destination- path where the new file should be written, notnullfilter- filter that determines if an event should be included, 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 parsed- Since:
- 19
-
readAllEvents
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, 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 parsed
-