Performance
These are measurements from one machine, not limits. We took them on 7 October 2026 with:
- a single-node k3s cluster in colima, with 4 CPUs and 4 GiB of memory, on a 16 GB Apple-silicon MacBook Air;
- KubeGlass built from
mainthat day, on the same laptop; - Chromium.
The cluster, KubeGlass and the browser shared the laptop, so each number includes the others’ load.
A list of 3,000 objects
Section titled “A list of 3,000 objects”3,000 ConfigMaps, shown in one list:
| What | Result |
|---|---|
| Counts | The same as kubectl |
| First rows, one namespace | 324 ms |
| First rows, all namespaces, nothing cached | 3.4 s, with the laptop under heavy load |
| Scrolling | 60 frames a second; 95% of frames took 16.7 ms or less |
| A keystroke in the filter | 32 ms median, 48 ms at most |
| Sorting | 83 to 114 ms |
| Selecting all 3,001 rows | Under 80 ms |
| Browser memory (JavaScript heap) | 12 to 33 MB, flat over 5 idle minutes |
Changes while you watch
Section titled “Changes while you watch”20 changes a second to the objects in that list, for 60 seconds:
- No frames were dropped; the longest took 16.8 ms.
jandkmoved the selection in 40 ms (median).- The 1,200 changes arrived in 546 WebSocket messages.
- The list’s count matched
kubectl8 seconds after the last change.
A busy log
Section titled “A busy log”A pod writing 200 lines a second, followed for 3 minutes:
- The view keeps the latest 3,000 lines.
- Browser memory stayed between 12 and 20 MB and didn’t grow.
- The page’s main thread was busy 7 to 10% of the time.
The server
Section titled “The server”- KubeGlass used 37 to 130 MB of memory across these tests.
- It held one connection to the API server per cluster.
First load
Section titled “First load”- With KubeGlass on the same laptop, the page showed content in about 0.2 s.
- Over an emulated link with 80 ms of latency and 10 Mbit/s, a spinner showed at 0.1 to 0.25 s and the app at 1.2 to 1.4 s, after 27 to 48 script requests. That was a build of the change, merged on 8 October, that loads the first screen as one script; before it, the page stayed blank until 1.9 to 2.5 s and made 90 to 134.
What we haven’t tested
Section titled “What we haven’t tested”- Clusters with more than one node.
- Large clusters. Headlamp’s 0.44.0 release notes say it works beyond 30,000 pods; we haven’t run KubeGlass on a cluster anywhere near that size.
- Browsers other than Chromium.
If you run KubeGlass on a bigger cluster, we’d like to hear how it does: open an issue with the cluster’s size and what you saw. For memory in a cluster, see High memory use.