Module jdk.jfr
Package jdk.jfr

Annotation Interface Enabled


@Target(TYPE) @Retention(RUNTIME) @Inherited public @interface Enabled
Event annotation, determines if an event should be enabled by default.

If an event doesn't have the annotation, then by default the event is enabled.

The following example shows how the Enabled annotation can be used to create a disabled event. A disabled event will at most have the overhead of an allocation, or none if the runtime JIT compiler is able to eliminate it.

@Name("StopWatch")
@Label("Stop Watch")
@Category("Debugging")
@StackTrace(false)
@Enabled(false)
static public class StopWatchEvent extends Event {
}

public void update() {
    StopWatchEvent e = new StopWatchEvent();
    e.begin();
    ...
    e.commit();
}
The event can be enabled programmatically, or on command line when needed, for example:
java -XX:StartFlightRecording:StopWatch#enabled=true ...
Since:
9
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Returns true if by default the event should be enabled, false otherwise.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Setting name "enabled", signifies that the event should be recorded.
  • Field Details

  • Element Details

    • value

      boolean value
      Returns true if by default the event should be enabled, false otherwise.
      Returns:
      true if by default the event should be enabled by default, false otherwise
      Default:
      true