Как я могу программно запустить и остановить запись записи полета Java (JFR) для определенного кодового блока на нативноJAVA

Программисты JAVA общаются здесь
Anonymous
Как я могу программно запустить и остановить запись записи полета Java (JFR) для определенного кодового блока на нативно

Сообщение Anonymous »

У меня есть приложение Java, скомпилированное в нативное изображение Graalvm, и моя цель состоит в том, чтобы профилировать конкретный, критичный блок кода с использованием java flight decorder (jfr). < /p>
Поскольку приложение является нативным исполняемым файлом и не работает на традиционном JVM, мне нужно знать, как управлять JFR из самого кода применения. Как я могу программно запустить записи JFR до того, как мой целевой код выполнит и остановить ее сразу после того, как сгенерировать файл .jfr? Пример кода был бы очень полезен, например, этот концептуальный: < /li>
< /ol>
// What API provides this functionality for a native image?
try (var recording = new Recording()) {
recording.start();
// The specific code block I want to profile
myPerformanceCriticalMethod();
recording.stop();
recording.dump(Path.of("/data/my-recording.jfr"));
}
< /code>

Требуемые флаги: какие флаги времени настройки (например, во время процесса сборки нативного изображения) и варианты времени выполнения необходимы для внедрения возможностей JFR в конечный исполняемый файл и включить его использование? < /li>
< /ol>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -recording

Вернуться в «JAVA»