The direction of the crossing determines automatically whether the hysteresis distance is added or subtracted from the threshold.
Benefits
Prevents alarm storms when the value oscillates around the threshold.
No need for arbitrary grace periods.
Behavior becomes deterministic and easy to understand.
Keeps the configuration compact while avoiding explicit +/- notation for hysteresis.
### Background
CROSSING alarms currently re-arm immediately after the value moves back across the threshold.
If the value oscillates around the threshold, this can produce a very large number of repeated alarms.
Example:
```
9.999
10.001 -> trigger
9.998 -> re-arm
10.002 -> trigger
9.999 -> re-arm
...
```
This can easily generate dozens or hundreds of alarms per second.
### Proposed syntax
Allow an optional hysteresis to be specified after the threshold:
```
>10/0.1
or
>{{SOL_LONG_LIQ_PRICE}}+3%/0.1%
```
The value after '/' represents the hysteresis distance.
No + or - shall be specified in the configuration.
### Behaviour
For an upward crossing:
```
>10/0.1
Trigger when:
price > 10
Re-arm when:
price <= 9.9
```
For a downward crossing:
```
<10/0.1
Trigger when:
price < 10
Re-arm when:
price >= 10.1
```
The direction of the crossing determines automatically whether the hysteresis distance is added or subtracted from the threshold.
### Benefits
Prevents alarm storms when the value oscillates around the threshold.
No need for arbitrary grace periods.
Behavior becomes deterministic and easy to understand.
Keeps the configuration compact while avoiding explicit +/- notation for hysteresis.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Background
CROSSING alarms currently re-arm immediately after the value moves back across the threshold.
If the value oscillates around the threshold, this can produce a very large number of repeated alarms.
Example:
This can easily generate dozens or hundreds of alarms per second.
Proposed syntax
Allow an optional hysteresis to be specified after the threshold:
The value after '/' represents the hysteresis distance.
No + or - shall be specified in the configuration.
Behaviour
For an upward crossing:
For a downward crossing:
The direction of the crossing determines automatically whether the hysteresis distance is added or subtracted from the threshold.
Benefits
Prevents alarm storms when the value oscillates around the threshold.
No need for arbitrary grace periods.
Behavior becomes deterministic and easy to understand.
Keeps the configuration compact while avoiding explicit +/- notation for hysteresis.