-
Notifications
You must be signed in to change notification settings - Fork 229
Open
Labels
area/event-exporterEvent exporter componentEvent exporter componentenhancementgoPull requests that update Go codePull requests that update Go codekind/featureNew feature or requestNew feature or requestpriority/important-soonImportant issues to address soonImportant issues to address soon
Description
Problem
The sink enqueues individual log entries into a single buffered channel and spawns a goroutine per flush. This makes throughput sensitive to burst patterns and offers limited visibility into queue depth or backpressure.
Proposed optimization
Introduce a bounded work queue + worker pool that batches by size/time with explicit queue depth metrics. This provides stable throughput under load and makes backpressure behavior observable.
Notes / references
- client-go workqueue (rate-limiting + metrics): https://pkg.go.dev/k8s.io/client-go/util/workqueue
- Prometheus metrics for queue depth/latency can mirror workqueue defaults.
Acceptance criteria
- Sink uses a bounded queue with worker pool and batcher.
- Metrics expose queue depth and batch flush latency.
- Throughput remains stable under bursty event streams.
Metadata
Metadata
Assignees
Labels
area/event-exporterEvent exporter componentEvent exporter componentenhancementgoPull requests that update Go codePull requests that update Go codekind/featureNew feature or requestNew feature or requestpriority/important-soonImportant issues to address soonImportant issues to address soon