5 時間の測定

MeasureTimeSample.javaの例では、Event.beginおよびEvent.commitメソッドを呼び出して、操作の時間を測定する方法を示します。

import jdk.jfr.Event;
import jdk.jfr.Label;
import jdk.jfr.Name;
public class MeasureTimeSample {

    @Name("com.oracle.MeasureDuration")
    @Label("Measure Duration")
    static class MeasureMyDuration extends Event { }

    public static void main(String... args) throws Exception {
        MeasureMyDuration event = new MeasureMyDuration();
        event.begin();
        Thread.sleep(42);
        event.commit();
    }
}

endメソッドを明示的に呼び出さなくても、commitメソッドがイベントのタイミングで終了することに注意してください。

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

java -XX:StartFlightRecording:filename=mt.jfr MeasureTimeSample.java
jfr print --events MeasureDuration mt.jfr

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

com.oracle.MeasureDuration {
  startTime = 12:26:43.169
  duration = 45.3 ms
  ...
}