Skip to main content

OTEL-001: memory_limiter processor must be configured

Severity: deny (blocking)

Rule Details

The memory_limiter processor is the Collector's safety valve against out-of-memory kills. Without it, a slow exporter, a traffic burst, or a stuck sending queue can push the process past its cgroup limit and get SIGKILL'd — dropping every batch in flight and taking observability down at the worst possible moment.

This rule fires when no memory_limiter processor is declared in the top-level processors section.

Options

This rule has no options.

Examples

Incorrect
processors:
batch:
timeout: 1s
Correct
processors:
memory_limiter:
check_interval: 5s
limit_percentage: 80
spike_limit_percentage: 25
batch:
timeout: 1s

When Not To Use It

Short-lived test runs, one-shot config imports, or throwaway sidecars where OOM restart is acceptable. For any long-running production Collector you should leave this rule enabled.

  • OTEL-002memory_limiter must be included in every pipeline
  • OTEL-014memory_limiter should be first processor
  • OTEL-027memory_limiter check_interval is 0 or unset
  • OTEL-028spike_limit_mib >= limit_mib
  • OTEL-029 — neither limit_mib nor limit_percentage set

Version

Available since augur v0.1.0.

Further Reading

Resources