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 Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract EventSettings` | `with​(String name, String value)` | Sets a setting value for the event that is associated with this event setting.
    `EventSettings` | `withoutStackTrace()` | Disables stack traces for the event that is associated with this event setting.
    `EventSettings` | `withoutThreshold()` | Specifies that a threshold is not used.
    `EventSettings` | `withPeriod​(Duration duration)` | Sets the interval for the event that is associated with this event setting.
    `EventSettings` | `withStackTrace()` | Enables stack traces for the event that is associated with this event setting.
    `EventSettings` | `withThreshold​(Duration duration)` | Sets the threshold for the event that is associated with this event setting.

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### 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`