Пользовательские события JFR Java для управления полетами
Я хотел бы отправлять пользовательские события в jmc - я наткнулся на сообщение в блоге о пользовательских событиях jfr - http://hirt.se/blog/?p=444. Однако автор подчеркнул, что эта функция может быть извращена в будущем. Поскольку JMC не является открытым исходным кодом, я не могу проверить это. Информация в блоге все еще актуальна?
2 ответа
JDK 9 был выпущен и содержит поддерживаемый API для создания пользовательских событий. Пример,
@Label("Hello World!")
class HelloWorld extends jdk.jfr.Event {
@Label("Message"
String message;
}
class App {
public static void main(String... args) {
HelloWorld e = new HelloWorld();
e.message = "hello, world!";
e.commit();
}
}
Блогпостер здесь!:) Я начал собирать вместе несколько небольших плагинов для JFR во время встреч Hackergarten в Люцерне, чтобы продемонстрировать, как можно использовать эти API. Я открыл их здесь:
https://github.com/thegreystone
Когда выйдет JDK 9, я отправлю обновления, которые позволят им прозрачно поддерживать JDK7/8 и JDK 9, чтобы продемонстрировать, как это можно сделать. Обратите внимание, что использование JFK API JDK7/8 НЕ поддерживается и никогда не будет. Тем не менее, это, тем не менее, довольно полезно.;)