@TransitionFrom 和@TransitionTo 应该如何使用

How are @TransitionFrom and @TransitionTo supposed to be used

Java 飞行记录器 API 包含两个注释 TransitionFrom and TransitionTo 但文档对它们的使用方式非常简单。

它们应该如何使用?我假设他们继续参加活动。它们应该是布尔值还是线程字段?什么时候应该将字段设置为哪些值?

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

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

如果您在线程 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;
}