OTEL-028: spike_limit_mib >= limit_mib (soft limit zero or negative)
Severity: deny (blocking)
Rule Details
memory_limiter uses two thresholds: limit_mib is the hard ceiling and spike_limit_mib is the headroom subtracted from it to form a soft ceiling (limit_mib - spike_limit_mib). If spike_limit_mib >= limit_mib the soft ceiling is zero or negative, which means the limiter jumps straight to "refuse everything" the moment the Collector allocates anything at all. That is not how you want back-pressure to behave.
This rule fires when spike_limit_mib >= limit_mib on any memory_limiter processor.
Options
| Field | Constraint |
|---|---|
spike_limit_mib | Must be < limit_mib |
Examples
Incorrect
processors:
memory_limiter:
check_interval: 5s
limit_mib: 512
spike_limit_mib: 768 # larger than limit_mib
Correct
processors:
memory_limiter:
check_interval: 5s
limit_mib: 512
spike_limit_mib: 128
When Not To Use It
Never — the configuration cannot do anything useful.
Related Rules
- OTEL-001 —
memory_limiterprocessor must be configured - OTEL-027 —
memory_limitercheck_intervalis 0 or unset - OTEL-029 — neither
limit_mibnorlimit_percentageset - OTEL-030 —
limit_percentageoutside safe range
Version
Available since augur v0.1.0.
Further Reading
Resources
- Rule source:
policy/main/memory.rego