пытаясь автоматизировать управление полетом Java, это возможно? - PullRequest
1 голос
/ 20 марта 2019

Можно ли автоматизировать управление полетом java, чтобы выгрузить 1-минутную запись полета в папку каждый час?

Например: сервер запускает приложение 24/7, и я хотел бы, чтобыФайл .jfr автоматически выгружается в файл каждый час

1 Ответ

1 голос
/ 20 марта 2019

Имейте cronjob, который делает jcmd JFR.dump, по крайней мере для JDK 11 он имеет параметры начала / конца.

$ java -XX:StartFlightRecording MyApp

Затем создайте сценарий дампа, например

jcmd MyApp JFR.dump filename=/dumps begin=-1m

Затем добавьте cronjob

$ crontab -e.

с записью для сценария:

*/60 * * * * /scripts/dumpjfr.sh

Для более старых версий вам может понадобиться использовать FlightRecorder MXBean, если вы хотите контролировать объем дампа, или установить максимальный размер записи в одну минуту, используя -XX: StartFlightRecording = maxage = 1m.Если вы хотите сохранить более длинную историю, несколько записей могут быть запущены с разным объемом.

См., Например, http://isuru -perera.blogspot.com / 2015/02 / java-flight-Recder-непрерывный recordings.html

...