Java Flight Recorder теперь является частью OpenJDK 11 и предлагает использование пользовательских событий. После успешной записи я хочу повторно использовать информацию в событиях (особенно мои собственные пользовательские события), но почему-то не могу прочитать содержимое поля события. Я могу видеть только аннотации, имя и тип полей.
Кто-нибудь знает, возможно ли это на самом деле?
JFR имеет потребительский пакет , который позволяет вы можете читать информацию из файлов. Я уже применяю некоторые функции.
То, что я уже пробовал
Сначала я обращаюсь ко всем полям события:
event.getFields();
Затем я перебираю поля и получаю доступ к их значениям несколькими способами:
a) eventField.getDescriptor();
b) eventField.getContentType();
Просто глядя на их имена, очевидно, что ни один из них не дал бы мне содержимого. К сожалению, я не смог найти никакой функции, которая могла бы помочь.
То, что я также пробовал
Я также попробовал очень прямую идею: прочитать содержимое в режиме отладки . Я подумал, что это даст мне некоторое представление о том, как программно извлечь эту информацию.
К сожалению, JFR удалось закодировать свои записи таким образом, что во время процедуры отладки никто не может для чтения информации, пока кто-нибудь программно не извлечет их и не получит в качестве локальной переменной (пример: карта).
К вашему сведению, я использовал эту инструкцию для настраиваемого события реализация.