Skip to main content

OTEL-003: batch processor must be configured

Severity: deny (blocking)

Rule Details

The batch processor groups spans, metrics, and logs before they leave the Collector. Without it, each signal is exported individually — which explodes network round-trips, multiplies backend ingestion cost, and typically triggers rate-limiting on the downstream system. Every production config should have a batch processor.

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

Options

This rule has no options.

Examples

Incorrect
processors:
memory_limiter:
check_interval: 5s
limit_percentage: 80
Correct
processors:
memory_limiter:
check_interval: 5s
limit_percentage: 80
batch:
timeout: 1s
send_batch_size: 1024

When Not To Use It

Low-volume development environments where each trace or metric round-trip is easier to debug un-batched. For production, keep batching on.

  • OTEL-013batch processor should be last in pipeline
  • OTEL-023batch send_batch_max_size unset
  • OTEL-024batch send_batch_max_size < send_batch_size
  • OTEL-025batch timeout below 100ms
  • OTEL-026batch timeout above 60s

Version

Available since augur v0.1.0.

Further Reading

Resources