The runner-job Metrics tab now actually populates with data. Previously the metrics collector lived in the runners-controller and read kubelet stats through the cluster apiserver, but on the production fleet that source was unavailable, so every job’s Metrics tab was empty. Sampling has moved inside the runner VM itself: the macOS runner forks a sampler on job start and the Linux runner runs a dedicated metrics sidecar, both POSTing whole-VM CPU, memory, network, and disk usage every 15 seconds for the full duration of the job. The server now authenticates each runner’s metrics by the pod’s own service-account token, so a leaked token cannot write metrics for another pod.
Hive
Runner job Metrics tab now shows in-VM machine metrics
Published
Jun 26, 2026 · 11:24 UTC
Repository
tuist/tuist