AIM / FCAPS / Performance
AIM · P · Performance · recorded 2026-10-17
Watch the lab scale itself, and see why some pods don't.
Prometheus, Grafana and KEDA now run on the lab. One dashboard shows every pod's CPU and memory, every autoscaler's replica count against its target, and the exact number KEDA feeds its autoscaler. Two real services autoscale under load; three are deliberately kept at one copy, for reasons written down.
Lab Autoscaling: Pods, HPA, KEDA
A load test, as Grafana recorded it.
A short load job sent health and readiness requests at two lab services for about seven minutes. Both scaled from 1 to 3 replicas within a minute, then fell back after the two-minute scale-down window. Every number below is from that run.



Engineering by Tarik Riley
Two ways to scale
A standard autoscaler on one service, KEDA on the other.
HPA · directory membership service
Scale on CPU
A standard Kubernetes Horizontal Pod Autoscaler: target 70% of the CPU each pod requests, 1 to 3 replicas. The service reads from the directory and keeps no state of its own, so a second copy is safe.
KEDA · CRM service
Scale on a Prometheus query
KEDA runs a Prometheus query over the service's real CPU and scales so each replica carries about 150 millicores, from 1 to 3. If Prometheus can't be read three times in a row, it holds one replica rather than guessing.
Just as important
Why some services are deliberately not autoscaled.
An autoscaler on a service that isn't safe to run twice does real damage. Each candidate was checked first.
Inside AIM: the Performance tab
The same numbers, on AIM's own screen.
Grafana stays private to the lab; it isn't exposed on the network. To put these metrics on AIM's screen, AIM's service answers a fixed set of Prometheus queries itself, and its screen charts them. The browser can never send a query of its own, and needs no Grafana login.


Engineering by Tarik Riley
Status
Prometheus, Grafana, KEDA, both autoscalers and the dashboard are live on the lab, recorded 2026-10-17. AIM UI Performance tab: in review (testpulse-aim PR #23), running on the lab. Alertmanager is deliberately off, because AIM is the lab's alarm surface. All data is synthetic.
Talk to us about applying FCAPS to your AI.
If you run an operations team that already speaks FCAPS, AIM gives the AI the same five lenses: Fault, Configuration, Accounting, Performance and Security.