OTEL-025: batch timeout below 100ms
Severity: warn (advisory)
Rule Details
timeout is the maximum time a batch can wait before being flushed. Anything under ~100ms means most batches flush on the timeout rather than on send_batch_size, so you pay the per-batch overhead (gRPC headers, compression setup, TLS handshakes for keepalive-less exporters) on tiny batches. If you need low end-to-end latency, set other knobs; do not starve the batcher.
This rule fires when batch.timeout < 100ms.
Options
| Field | Constraint |
|---|---|
timeout | Should be ≥ 100ms |
Examples
Avoid
processors:
batch:
timeout: 10ms # below 100ms
send_batch_size: 1024
Prefer
processors:
batch:
timeout: 1s
send_batch_size: 1024
When Not To Use It
Ultra-low-latency tracing pipelines where you deliberately trade throughput for freshness and have measured that a sub-100ms timeout is actually needed.
Related Rules
- OTEL-023 —
batchsend_batch_max_sizeunset - OTEL-024 —
send_batch_max_size<send_batch_size - OTEL-026 —
batchtimeout above 60s
Version
Available since augur v0.1.0.
Further Reading
Resources
- Rule source:
policy/main/memory.rego