Module jdk.jfr
Package jdk.jfr

Class EventSettings

java.lang.Object
jdk.jfr.EventSettings

public abstract class EventSettings extends Object
Convenience class for applying event settings to a recording.

An EventSettings object for a recording can be obtained by invoking the Recording.enable(String) method which is configured using method chaining.

The following example shows how to use the EventSettings class.

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"));
Since:
9
  • Method Details

    • withStackTrace

      public final EventSettings withStackTrace()
      Enables stack traces for the event that is associated with this event setting.

      Equivalent to invoking the with("stackTrace", "true") method.

      Returns:
      event settings object for further configuration, not null
    • withoutStackTrace

      public final EventSettings withoutStackTrace()
      Disables stack traces for the event that is associated with this event setting.

      Equivalent to invoking the with("stackTrace", "false") method.

      Returns:
      event settings object for further configuration, not null
    • withoutThreshold

      public final EventSettings withoutThreshold()
      Specifies that a threshold is not used.

      This is a convenience method, equivalent to invoking the with("threshold", "0 s") method.

      Returns:
      event settings object for further configuration, not null
    • withPeriod

      public final EventSettings withPeriod(Duration duration)
      Sets the interval for the event that is associated with this event setting.
      Parameters:
      duration - the duration, not null
      Returns:
      event settings object for further configuration, not null
    • withThreshold

      public final EventSettings withThreshold(Duration duration)
      Sets the threshold for the event that is associated with this event setting.
      Parameters:
      duration - the duration, or null if no duration is used
      Returns:
      event settings object for further configuration, not null
    • with

      public abstract EventSettings with(String name, String value)
      Sets a setting value for the event that is associated with this event setting.
      Parameters:
      name - the name of the setting (for example, "threshold")
      value - the value to set (for example "20 ms" not null)
      Returns:
      event settings object for further configuration, not null