Как включить статистику объектов в 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>,

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