Skip to content

[Bug] Nodes list view shows CPU as "0.0Ki" while Memory works correctly; cluster reports CPU properly #1883

Description

@jcrouseilles

Describe the bug

In the Nodes list view, the CPU column displays 0.0Ki for every node, regardless of actual CPU usage. The Memory column for the same nodes shows correct values (e.g. 18.0Gi). The CPU value
appears to be formatted with byte units (Ki/Mi/Gi), suggesting a unit-mismatch bug where CPU data (typically in nanocores or millicores) is being rendered through the bytes formatter.

Note that the Memory column works correctly, the node detail view (per-node Metrics tab graphs) renders CPU correctly, and the cluster itself reports CPU correctly through every other channel.

Reproduction steps

  1. Connect Freelens to a kubernetes cluster with a healthy metrics-server and a running kube-prometheus-stack
  2. Open Catalog → Workloads → Nodes or Cluster → Nodes
  3. Observe the CPU column shows 0.0Ki for every node

Expected behavior

Expected: CPU column shows real CPU usage values (cores or millicores).

Actual: CPU column shows 0.0Ki uniformly. Memory column on the same row shows accurate values, so the issue is isolated to CPU rendering in the list view.

Screenshots

Image Image

Freelens version

1.9.0

Operating system type and version

MacOS 26.5 M3

Installation method

Homebrew Cask

Kubernetes cluster version used with Freelens

1.35.2

Logs

No response

Kubeconfig

No response

Additional context

  • Cluster type: OVH Managed Kubernetes (r3-64 flavor nodes)
    • metrics-server: present and reporting normally
    • Prometheus stack: kube-prometheus-stack v84.3.0 (also configured manually in cluster settings → Metrics → prometheus/<prometheus-svc>:9090)

Reproducibility

Persistent. Reproduces across:

  • Disconnect / reconnect of the cluster
  • Full uninstall + clean reinstall of Freelens (DMG removed, ~/Library/Application Support/Freelens, ~/Library/Preferences/app.freelens.*, ~/Library/Caches/*freelens*, and ~/Library/Saved Application State/*freelens* all wiped before reinstall)
  • Two consecutive cluster nodepool shape migrations (b3-32 → r3-64 → r3-64 again) — the bug appeared first right after a drain operation that rescheduled metrics-server to a new pod IP, and persisted
    through subsequent migrations even after we ensured the cluster was fully clean

What we've already verified about the cluster

The cluster reports CPU correctly through every other channel:

$ kubectl --context=<cluster> top nodes
NAME                 CPU(cores)   CPU(%)   MEMORY(bytes)   MEMORY(%)
thanos-node-14906f   3794m        48%      18250Mi         29%
# ... etc, all values populated correctly
$ kubectl --context=<cluster> get --raw '/apis/metrics.k8s.io/v1beta1/nodes' | jq '.items[0].usage'
{
  "cpu": "3793172185n",     # nanocores — correct
  "memory": "18688656Ki"    # kibibytes — correct (and Memory column renders this fine)
}

metrics-server is 1/1 Running, APIService v1beta1.metrics.k8s.io is Available=True, kubectl top works flawlessly.

The Freelens node detail view → Metrics tab also loads CPU charts correctly. The bug is isolated to the list view column.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions