Module jdk.jfr
Package jdk.jfr

Class EventSettings

java.lang.Object
jdk.jfr.EventSettings

public abstract class EventSettings extends Object
用于将事件设置应用于录制的便利类。

可以通过调用Recording.enable(String)方法获取用于录制的EventSettings对象,该对象使用方法链接进行配置。

以下示例展示了如何使用EventSettings类。

try (Recording r = new Recording()) {
    r.enable("jdk.CPULoad")
     .withPeriod(Duration.ofSeconds(1));
    r.enable("jdk.FileWrite")
     .withoutStackTrace()
     .withThreshold(Duration.ofNanos(10));
    r.start();
    Thread.sleep(10_000);
    r.stop();
    r.dump(Files.createTempFile("recording", ".jfr"));
}
自 JDK 版本:
9
  • Method Details

    • withStackTrace

      public final EventSettings withStackTrace()
      启用与此事件设置关联的事件的堆栈跟踪。

      等同于调用with("stackTrace", "true")方法。

      返回:
      用于进一步配置的事件设置对象,非null
    • withoutStackTrace

      public final EventSettings withoutStackTrace()
      禁用与此事件设置关联的事件的堆栈跟踪。

      等同于调用with("stackTrace", "false")方法。

      返回:
      用于进一步配置的事件设置对象,非null
    • withoutThreshold

      public final EventSettings withoutThreshold()
      指定不使用阈值。

      这是一个便利方法,等同于调用with("threshold", "0 s")方法。

      返回:
      用于进一步配置的事件设置对象,非null
    • withPeriod

      public final EventSettings withPeriod(Duration duration)
      为与此事件设置关联的事件设置间隔。
      参数:
      duration - 持续时间,非null
      返回:
      用于进一步配置的事件设置对象,非null
    • withThreshold

      public final EventSettings withThreshold(Duration duration)
      为与此事件设置关联的事件设置阈值。
      参数:
      duration - 持续时间,如果不使用持续时间则为null
      返回:
      用于进一步配置的事件设置对象,非null
    • with

      public abstract EventSettings with(String name, String value)
      为与此事件设置关联的事件设置值。
      参数:
      name - 设置的名称(例如,"threshold"
      value - 要设置的值(例如"20 ms"),非null
      返回:
      用于进一步配置的事件设置对象,非null