-
perf(docker): one-shot container stats — fixes tail starvation on busy hosts
Release / frontend (push) Canceled after 0sRelease / linux (amd64) (push) Canceled after 0sRelease / linux (arm64) (push) Canceled after 0sRelease / windows (push) Canceled after 0sRelease / macos (push) Canceled after 0sRelease / release (push) Canceled after 0sBuild and Push Docker Image / build-and-push (push) Canceled after 0sreleased this
2026-06-12 12:53:00 +03:00 | 217 commits to main since this releaseThe daemon was healthy all along (docker ps 26ms, inspect 38ms): the
per-container ContainerStats call without one-shot makes the daemon
prime PreCPUStats with a second sample ~1s later, so each call costs
~1.2s. At 60+ containers / 8 workers the batch needs 10s+ and the tail
of the container list (the oldest containers, consistently the same
ones) ran out of module budget — their inspects died instantly on the
exhausted parent context every cycle.ContainerStatsOneShot returns a single sample in ~30ms; both CPU
percentages now derive from the inter-cycle cache (percentOfLimit no
longer needs PreCPUStats). 68 containers now cost well under a second.Downloads