Как включить статистику объектов в JFR?
Я тестирую свой Java-код с помощью filghtrecorder, все остальные данные выглядят хорошо (они показывают что-то), но "Память -> Статистика объекта" пуста.
Использование JDK 1.8.0_161
Вот параметр, который я использовал.
java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=dumponexit=true,filename=4.jfr,settings=default -jar myapp.jar
Я пытался изменить настройки на "настройки = профиль", но не помогло. (Я не знаю другого)
Мне интересно, почему он не включен по умолчанию или включен, но ни один объект не стоит записывать?
1 ответ
Как вы можете увидеть в пользовательском интерфейсе JMC, для этой страницы необходимо событие "Подсчет объектов". Сделайте свою собственную версию настроек, например, скопировав файл JDK/jre/lib/jfr/profile.jfc и изменив значение true на true в этом разделе.
<setting name="enabled" control="heap-statistics-enabled">false</setting>
<setting name="period">everyChunk</setting>
</event>
Вы также можете использовать пользовательский интерфейс JMC для создания нового файла настроек, нажав кнопку "Диспетчер шаблонов" в мастере запуска записи полета.
Либо сохраните новый файл в JDK / jre / lib / jfr /, а затем вы можете просто использовать settings=mynewsettings
в командной строке, или сохраните его где-нибудь еще и используйте settings=<fullpathtomynewsettingsfile>
,