Класс RecordingFile
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable
public final class RecordingFile extends Object implements Closeable
Следующий пример показывает, как читать и выводить все события в файле записи.
try (RecordingFile recordingFile = new RecordingFile(Paths.get("recording.jfr"))) {
while (recordingFile.hasMoreEvents()) {
RecordedEvent event = recordingFile.readEvent();
System.out.println(event);
}
}
- С момента:
- 9
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
RecordingFile |
Создаёт файл записи. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает этот файл записи и освобождает все связанные с ним системные ресурсы. |
boolean |
hasMoreEvents() |
Возвращает true, если в файле записи существуют необработанные события, false в противном случае. |
static List |
readAllEvents |
Возвращает список всех событий в файле. |
RecordedEvent |
readEvent() |
Считывает следующее событие в записи. |
List |
readEventTypes() |
Возвращает список всех типов событий в этой записи. |
void |
write |
Фильтровать события и записать их в новый файл. |
Подробное описание конструкторов
RecordingFile
public RecordingFile(Path file) throws IOException
Следует использовать только файлы записей из надёжных источников.
- Параметры:
-
file- путь к открываемому файлу, неnull - Исключения:
-
IOException- если это не действительный файл записи, или произошла ошибка ввода-вывода -
NoSuchFileException- если файлfileне может быть найден -
SecurityException- если существует менеджер безопасности и его методcheckReadзапрещает чтение файла.
Подробное описание методов
readEvent
public RecordedEvent readEvent() throws IOException
- Возвращает:
- следующее событие, не
null - Исключения:
-
EOFException- если в файле записи больше нет событий -
IOException- если произошла ошибка ввода-вывода - См. также:
hasMoreEvents
public boolean hasMoreEvents()
true если в файле записи существуют необработанные события, false в противном случае.- Возвращает:
-
trueесли в записи есть необработанные события,falseв противном случае.
readEventTypes
public List<EventType> readEventTypes() throws IOException
- Возвращает:
- список типов событий, не
null - Исключения:
-
IOException- если во время чтения из файла произошла ошибка ввода-вывода - См. также:
close
public void close() throws IOException
- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Исключения:
-
IOException- если произошла ошибка ввода-вывода
write
public void write(Path destination, Predicate<RecordedEvent> filter) throws IOException
- Параметры:
-
destination- путь, куда должен быть записан новый файл, неnull -
filter- фильтр, определяющий, должно ли событие включаться, неnull - Исключения:
-
IOException- если произошла ошибка ввода-вывода, это не файл Flight Recorder или версия файла JFR, которую нельзя разобрать -
SecurityException- если существует менеджер безопасности и его методcheckWriteзапрещает запись в файл - С момента:
- 19
readAllEvents
public static List<RecordedEvent> readAllEvents(Path path) throws IOException
Этот метод предназначен для простых случаев, когда удобно прочитать все события в одной операции. Он не предназначен для чтения больших файлов.
Следует использовать только файлы записей из надёжных источников.
- Параметры:
-
path- путь к файлу, неnull - Возвращает:
- события из файла в виде объекта
List; является ли объектListизменяемым или нет, зависит от реализации и поэтому не указано, неnull - Исключения:
-
IOException- если произошла ошибка ввода-вывода, это не файл Flight Recorder или версия файла JFR, которую нельзя разобрать -
SecurityException- если существует менеджер безопасности и его методcheckReadзапрещает чтение файла.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.jfr/jdk/jfr/consumer/RecordingFile.html