Problem
Substrate cannot answer "how much CPU and memory is this actor using?" — nor the same question rolled up per ActorTemplate.
Resource usage is observable only at worker-pod granularity, via kubectl ate top workers. actor is the unit users create, name, bill for, debug, and reason about — and it is invisible.
Why this matters
Concretely, four groups are blocked:
| Who |
What they cannot do today |
| Agent developers |
Diagnose why an actor was OOM-killed. Size an ActorTemplate's resource requests with anything but guesswork. Tell which of their actors is the expensive one. |
| Platform operators |
Detect noisy neighbours. Attribute cost or chargeback to a tenant, when atespace is the tenant boundary. Set quotas informed by observed usage. |
| Substrate developers |
Validate the density claim, or tune multiplexing against real numbers. #44 (concurrent actors per worker, P0) has no way to measure whether it succeeded. |
| Load testing |
Explain bottlenecks or confirm fleet health under load — the original motivation for #174, and still open in #168 / #176. |
This also gates scheduling work. Demand-reactive capacity (#198) and suspend-on-inactivity (#424) both make better decisions with a real actor resource footprint than without one.
Related
Problem
Substrate cannot answer "how much CPU and memory is this actor using?" — nor the same question rolled up per ActorTemplate.
Resource usage is observable only at worker-pod granularity, via
kubectl ate top workers. actor is the unit users create, name, bill for, debug, and reason about — and it is invisible.Why this matters
Concretely, four groups are blocked:
This also gates scheduling work. Demand-reactive capacity (#198) and suspend-on-inactivity (#424) both make better decisions with a real actor resource footprint than without one.
Related
pausecgroup #288 All actors are under thepausecgroup — closed, was the stated blockerprivileged: true#496 ateom gvisor: dropprivileged: true— delivered the per-actor cgroup leavesprivileged: true#496kubectl ate top workers— the pod-level precedent