Я узнал, что синтаксический анализ JFR в Java может выполняться неподдерживаемыми синтаксическими анализаторами, такими как синтаксический анализатор JMC, с использованием jrockit из this. Также я подумал, что во время записи полета будет зафиксировано много событий.
Если я хочу получить значения данных из различных событий, таких как трассировка стека на вкладке «События», горячий метод на вкладке «Код», дерево вызовов на вкладке «Код» и т. Д. Как мне отфильтровать? Пример изображения
например, я смог отфильтровать дерево вызовов, используя следующий код, как указано в jfr-flame-graph.
final String EVENT_TYPE = "Method Profiling Sample";
IView view = recording.createView();
for(IEvent event : view){
if(EVENT_TYPE.equals(event.getEventType().getName())){
FLRStackTrace flrStackTrace = (FLRStackTrace) event.getValue("(stackTrace)");
Здесь Тип события - Образец профилирования метода; Идентификатор - (трассировка стека);
Итак, если я хочу получить трассировку стека / горячие методы / и т. Д., Какие события / идентификаторы мне нужно захватить? Есть ли для этого какие-то документы?