Repository navigation
Add opt-in guest metrics for selected microVM actors - #3793
Shichun Feng (Sean) (KeyOfSpectator) wants to merge 2 commits into
Conversation
Signed-off-by: Shichun Feng (Sean) <keyofspectator@gmail.com>
|
Tim Bai (@baizhenyu) Krisztian F (@krisztianfekete) In real-world use cases, we’d like to add actor metadata labels to guest CPU and memory metrics so users can tell which actor each time series belongs to. |
|
Krisztian F (@krisztianfekete) Could a maintainer approve the pending workflows on this PR so the e2e checks can run? Thanks! |
|
Thanks, Krisztian F (@krisztianfekete). I misunderstood the use case when I proposed a separate debug endpoint. I’ve updated the PR so our existing Prometheus scrape of atelet’s We want to look back at the CPU and memory history of individual actors during a workload run. For example, in reinforcement learning, we want to see how much guest CPU and memory an actor running a rollout worker used during a particular phase of training. We can join the resource series with our workload metadata using You’re right that the allowlist has to be configured before the run to build that history in Prometheus. For an actor we didn’t select beforehand, we can look back at retained |
Signed-off-by: Shichun Feng (Sean) <keyofspectator@gmail.com>
Operators who know which microVM actors to watch can plot guest CPU and memory using the existing Prometheus scrape of atelet’s
/metrics. The existingate_actor_stats_*series still serve dashboards grouped by template and worker pool.Set
--debug-actor-guest-metrics-uidsto expose the new series for up to 16 actor UIDs per atelet. An empty list disables them. The series reuse cached guest samples and are visible to readers of the scrape endpoint when enabled.CPU appears after two distinct samples in the same activation. For spikes that predate the allowlist, retained
ate.actor.usage_sampledevents can provide the history. Refs #3792.Passed
go test -race ./cmd/atelet ./internal/serverboot -count=3 -shuffle=on. The full local suite had failures in other packages. The registry check needs Weaver or Docker.AI use: Codex helped prepare the patch, tests, and PR description.