Как должны использоваться @TransitionFrom и @TransitionTo - PullRequest
0 голосов
/ 21 декабря 2018

API-интерфейс Java Flight Recorder содержит две аннотации TransitionFrom и TransitionTo , но документация очень легка в том, как их следует использовать.

Как они должныиспользоваться?Я предполагаю, что они идут на полях событий.Должны ли они быть логическими или потоковыми полями?Когда поля должны быть установлены на какие значения?

1 Ответ

0 голосов
/ 22 декабря 2018

Цель @TransitionTo и @TransitionFrom - намекнуть графическому пользовательскому интерфейсу, такому как JDK Mission Control, что существует переход от потока A к потоку B.

Затем графический интерфейс может визуализировать его как стрелки перехода.:

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;
}
...