15 transientキーワードによるフィールドの永続化からの除外

transientキーワードを使用すると、フィールドを永続化から除外できます。ExcludeFieldsSample.javaの例でこれを示します。

import jdk.jfr.Event;
import jdk.jfr.Label;
import jdk.jfr.Name;

public class ExcludeFieldsSample {

    @Name("com.oracle.Message")
    @Label("Message")
    static class Message extends Event {
        String messageA;
        transient String messageB;
        String messageC;
    }

    public static void main(String... args) {
        Message event = new Message();
        event.messageA = "hello";
        event.messageB = "world"; // will not be persisted.
        event.messageC = "!";
        event.commit();
    }
}

次のコマンドを使用して、ExcludeFieldsSampleを実行します:

java -XX:StartFlightRecording:filename=excludefieldssample.jfr ExcludeFieldsSample.java
jfr print --events Message excludefieldssample.jfr

最後のコマンドでは、次のような出力が表示されます:

com.oracle.Message {
  startTime = 23:41:15.425
  messageA = "hello"
  messageC = "!"
  ...
}