Как включить статистику объектов в JFR?

#java #jfr

#java #jfr

Вопрос:

Я тестирую свой Java-код с помощью filghtrecorder, все остальные данные отображаются нормально (они показывают sth.), но «Память -> Статистика объектов» пуста.

Использование JDK 1.8.0_161

Вот параметр, который я использовал.

 java -XX: UnlockCommercialFeatures -XX: FlightRecorder -XX:StartFlightRecording=dumponexit=true,filename=4.jfr,settings=default -jar myapp.jar
  

Я попытался изменить настройки на «настройки = профиль», но не помогло. (Я не знаю другого)

Мне интересно, почему она не включена по умолчанию, или она включена, но ни один объект не стоит записывать?

Ответ №1:

Как вы могли бы видеть в пользовательском интерфейсе JMC, для этой страницы необходимо событие ‘Object Count’. Создайте свою собственную версию настроек, например, скопировав файл JDK / jre /lib /jfr /profile.jfc и изменив значение enabled на 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> .

Комментарии:

1. Это работает. Спасибо. И извините, что я пока не могу проголосовать за (репутация менее 15)