# Annotation Interface Throttle

@Target(TYPE) @Inherited @Retention(RUNTIME) public @interface Throttle
Event annotation, specifies the maximum rate of events per time unit, (for example, `"100/s"`).

If the event class annotated with `Throttle` is filtered by other settings, such as a `Threshold` or a user-defined setting, the throttling will happen after those settings have been applied.

Since:
  25

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`NAME`
Setting name `"throttle"` for configuring throttled events.

## Optional Element Summary

Optional Elements
Modifier and Type
Optional Element
Description
`String`
`value`
The throttle rate, for example `"100/s"`.

## Field Details

### NAME

static final String NAME
Setting name `"throttle"` for configuring throttled events.

See Also:
  - Constant Field Values

## Element Details

### value

String value
The throttle rate, for example `"100/s"`.

String representation of a non-negative `long` value followed by a forward slash ("/") and one of the following units:

- `"ns"` (nanoseconds)
- `"us"` (microseconds)
- `"ms"` (milliseconds)
- `"s"` (seconds)
- `"m"` (minutes)
- `"h"` (hours)
- `"d"` (days)

Example values, `"6000/m"`, `"10/ms"` and `"200/s"`.

Specifying zero, for example `"0/s"`, results in no events being emitted.

Specifying `"off"` (case-sensitive) results in all events being emitted.

Returns:
  the throttle value, default `"off"`

Default:
  `"off"`