2 イベント・メタデータ
SetMetadataSample.javaの例では、com.oracle.Helloというイベントが定義され、注釈@Name、@Description、@Labelおよび@Categoryが設定されます。(このサンプルは、パッケージfrexamplesにあります。)
               
package frexamples;
import jdk.jfr.Category;
import jdk.jfr.Description;
import jdk.jfr.Event;
import jdk.jfr.Label;
import jdk.jfr.Name;
public class SetMetadataSample {
    @Name("com.oracle.Hello")
    @Label("Set Metadata Example")
    @Description("Demonstrates how to set the annotations "
        + "@Name, @Description, @Label, and @Category")
    @Category({ "Demonstration", "Tutorial" })
    static class Hello extends Event {
        @Label("Message")
        String message;
    }
    public static void main(String... args) {
        Hello event = new Hello();
        event.begin();
        event.message = "Hello Event!";
        event.commit();
    }
}この例がfrexamplesというディレクトリにあることを確認し、次のコマンドを使用して、このディレクトリからSetMetadataSampleを実行します:
               
java -XX:StartFlightRecording:filename=sm.jfr SetMetadataSample.java
jfr print --events Hello sm.jfr最後のコマンドでは、次のような出力が表示されます:
com.oracle.Hello {
  startTime = 23:43:48.444
  duration = 0.0177 ms
  message = "Hello Event!"
  ...
}jfr printコマンドを使用して、1つ以上のカテゴリに属すイベントをフィルタすることもできます:
               
jfr print --categories Demonstration sm.jfr@Name注釈は、イベント・タイプのデフォルトの名前をオーバーライドします。たとえば、@Name注釈が設定されていない場合、この例で作成されるイベントのデフォルトの名前はfrexamples.SetMetadataSample$Helloになります。「イベントのネーミングのガイドライン」を参照してください。
               
@Descriptionおよび@Label注釈を使用すると、イベント・タイプに関する情報を追加できます。@Labelは識別子として使用しないでください。かわりに、@Name注釈を使用します。「イベントのラベル付けのガイドライン」を参照してください
@Category注釈を使用すると、イベント・タイプに1つ以上のカテゴリを関連付けられます。カテゴリを1つ指定する場合は、文字列を使用します。カテゴリを複数指定する場合は、文字列をカンマで区切ってリストにし、中カッコ({})で囲みます。「カテゴリ」を参照してください。