应该如何使用@TransitionFrom和@TransitionTo

时间:2018-12-21 11:20:43

标签: java jfr

Java Flight Recorder API包含两个注释TransitionFromTransitionTo,但是文档对如何使用它们的说明很浅。

应该如何使用它们?我认为他们是在事件领域。它们应该是布尔值还是线程字段?字段应何时设置为哪些值?

1 个答案:

答案 0 :(得分:1)

@TransitionTo和@TransitionFrom的目的是向JDK Mission Control之类的图形用户界面提示从线程A到线程B的转换。

然后,GUI可以将其可视化为过渡箭头:

Transition Graph

如果您在线程A中提交事件,则将创建一个线程字段,并使用@TransitionTo对其进行注释,并为其分配线程B。

@Name("com.organization.product.Notification")
@Label("Notification")
public class Notification extends jdk.jfr.Event {
   @TransitionTo
   @Label ("Receiver");
   Thread receiver;
}

如果在线程B中提交事件更为方便,则可以创建一个带有@TransitionFrom注释的字段,并改为使用线程A进行分配。

@Name("com.organization.product.Notification")
@Label("Notification")
public class Notification extends jdk.jfr.Event {
   @TransitionFrom
   @Label ("Notifier");
   Thread notifier;
}