2016-05-17 2 views
2

Я пытаюсь разобрать JFR-дамп с помощью JAVA. Я следил за этим блогом, http://hirt.se/blog/?p=446. Но эти методы теперь устарели. Есть ли поддерживаемые парсеры для JFR для JAVA? если вы не можете указать мне, возможно ли получить данные из дампа JFR?Java-самопишущий программный синтаксический анализатор

+0

См. Мой SO ответ на вопрос о том, как написать рекурсивный парсер спуска: http://stackoverflow.com/questions/2245962/is-there-an-alternative-for-flex-bison-that-is-usable-on- 8-bit-embedded-systems/2336769 # 2336769 –

ответ

1

Как указано Klara, официально не поддерживается парсер. Надеюсь, парсер JFR будет официально поддерживаться в JDK 9. На данный момент вы можете использовать API, упомянутые в Hirt's blog. Не беспокойтесь о том, что они устарели. :)

Я успешно использовал парсер JFR в своем проекте jfr-flame-graph. Обратите внимание, что в моем проекте используется Maven, а парсеры JFR недоступны в Maven Central (или в любом другом репозитории). Поэтому «Шаг 1» в README важен, и он будет copy JFR parser jars в локальном репозитории, и вы можете использовать эти банки в качестве зависимостей в своих pom.xml

Надеюсь, это поможет.

+1

Скорее всего, в JDK 9 будет поддерживаться парсер, который будет выглядеть совершенно иначе, и старый синтаксический анализатор будет удален. Просто не принимайте решения о покупке на основе этой информации. –

2

В настоящее время не поддерживается парсер. Есть, однако, много людей, как внутри, так и за пределами Oracle, которые довольно эффективно используют парсеры, упомянутые в этом блоге.

В будущем, возможно, будет поддерживаться парсер, там, безусловно, будут изменения в синтаксическом анализаторе, я просто не уверен, будет ли он «поддержан» или нет. Но код, который вы сейчас пишете, должен отлично работать с JDK 7 и 8 полетными записями и не будет с записями JDK 9.

Смежные вопросы