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.
Related Rules
- OTEL-013 —
batchprocessor should be last in pipeline - OTEL-023 —
batchsend_batch_max_sizeunset - OTEL-024 —
batchsend_batch_max_size<send_batch_size - OTEL-025 —
batchtimeout below 100ms - OTEL-026 —
batchtimeout above 60s
Version
Available since augur v0.1.0.
Further Reading
Resources
- Rule source:
policy/main/main.rego