Problem
event-exporter watches core/v1 Events. These objects are updated frequently (count/lastTimestamp), generating high update volume and write amplification to Cloud Logging under heavy load. This increases CPU, memory, and egress in large clusters.
Proposed optimization
Switch the event watcher to events.k8s.io/v1 and map EventSeries to reduce update frequency. In the newer Events API, repeated events are represented as a series (series.count, series.lastObservedTime) rather than continuous updates to a single core/v1 Event. This should significantly reduce update traffic and improve throughput in high-volume clusters.
Notes / references
Acceptance criteria
- Watcher uses
events.k8s.io/v1 client and handles EventSeries semantics.
- Observed reduction in update volume vs.
core/v1 (documented via metrics or basic benchmarking).
- Backward-compatible behavior for log entry fields used by sink (no loss of required data).
Problem
event-exporterwatchescore/v1Events. These objects are updated frequently (count/lastTimestamp), generating high update volume and write amplification to Cloud Logging under heavy load. This increases CPU, memory, and egress in large clusters.Proposed optimization
Switch the event watcher to
events.k8s.io/v1and mapEventSeriesto reduce update frequency. In the newer Events API, repeated events are represented as a series (series.count,series.lastObservedTime) rather than continuous updates to a single core/v1 Event. This should significantly reduce update traffic and improve throughput in high-volume clusters.Notes / references
k8s.io/client-go/kubernetes/typed/events/v1Acceptance criteria
events.k8s.io/v1client and handlesEventSeriessemantics.core/v1(documented via metrics or basic benchmarking).