Skip to content

v1.0.14

Choose a tag to compare

@mittal-ishaan mittal-ishaan released this 27 Feb 18:21
· 31 commits to develop since this release
e50858e

What's Changed

Asynchronous Node Stats Collection (#151)

  • Added a new NodeStatsSummaryProvider that polls node kubelet metrics in the background on a configurable interval,
    rather than blocking during each snapshot cycle.
  • Designed for large clusters (1000+ nodes), this reduces latency spikes during emission by returning cached data
    immediately.
  • Data staleness is tracked and warns when cached stats are older than 10 minutes.
  • Controlled via the new NODE_STATS_BG_COLLECTION_ENABLED environment variable.

Improved Emission Lifecycle Management (#151)

  • Snapshotting is now synchronous, which prevents concurrent snapshots from piling up, leaking memory and introducing race conditions.
  • Emitters are now executed concurrently, but our export loops waits for all emissions to complete before continuing.

HTTP Transport Resilience (#151)

  • Added defensive HTTP transport construction that clones http.DefaultTransport when available, with hardcoded
    sensible fallback defaults to protect against future Go stdlib changes.
  • Defaults: 30s dial timeout, 90s idle connection timeout, HTTP/2 enabled, connection pooling.

Chores

  • Go 1.26.0 (#156): Updated Go runtime version in Dockerfile and go.mod.