Как я могу получить последние записи из Java Flight Recorder?

Я запускаю Java Flight Recorder с помощью следующей команды.

jcmd $PID JFR.start duration=2h filename=my_record.jfr dumponexit=true settings=profile

Это запись первые 2 часа после начала.

Например, если он начался в 1:00, он записывает с 1:00 до 3:00, даже если я дам в 9:00.

Мне нужно получить записи за последние 2 часа, а не с первых.

Например, если он начался в 1:00 и был выгружен в 9:00, мне нужно получить записи с 7:00 до 9:00.

Что я должен делать?

1 ответ

Решение

Вы можете контролировать, как далеко назад хранить данные, во времени или в байтах, с помощью параметров maxage и maxsize. Например,

jcmd <pid> JFR.start maxage=2h filename=my_recording.jfr dumponexit=true settings=profile

или из командной строки

java -XX:+UnlockCommercialFeatures 
-XX:StartFlightRecording=maxage=2h,filename=my_recording.jfr,
dumponexit=true,settings=profile …

Я думаю, что параметр dumponexit работает только с jcmd, если у вас JDK 8u40 или новее

Другие вопросы по тегам