Skip to main content

OTEL-024: batch send_batch_max_size < send_batch_size

Severity: deny (blocking)

Rule Details

send_batch_size is the soft trigger (flush when the batch reaches this size) and send_batch_max_size is the hard cap (split anything larger). If the cap is smaller than the trigger, the trigger can never fire on a full batch — every batch is capped early, flushed at a size lower than intended, and the processor's throughput logic is effectively broken. The cap must be ≥ the trigger.

This rule fires when send_batch_max_size < send_batch_size on any batch processor.

Options

FieldConstraint
send_batch_max_sizeMust be ≥ send_batch_size

Examples

Incorrect
processors:
batch:
timeout: 1s
send_batch_size: 8192
send_batch_max_size: 1024 # smaller than send_batch_size
Correct
processors:
batch:
timeout: 1s
send_batch_size: 8192
send_batch_max_size: 16384

When Not To Use It

Never — this configuration cannot behave correctly.

  • OTEL-023batch send_batch_max_size unset
  • OTEL-003batch processor must be configured
  • OTEL-013batch processor should be last in pipeline

Version

Available since augur v0.1.0.

Further Reading

Resources