Skip to content

Show RAM usage in the VS Code status bar #1027

Description

@jovermier

Feature request

Please add a way for the Coder Remote VS Code extension to show workspace RAM usage directly in the VS Code status bar, alongside or instead of the current first agent metadata value.

Today, Coder workspace templates commonly expose both CPU and RAM through agent metadata, for example:

metadata {
  display_name = "CPU Usage"
  key          = "0_cpu_usage"
  script       = "coder stat cpu"
  interval     = 10
  timeout      = 1
}

metadata {
  display_name = "RAM Usage"
  key          = "1_ram_usage"
  script       = "coder stat mem"
  interval     = 10
  timeout      = 1
}

The VS Code extension appears to render the first metadata value in the status bar and place the full metadata list in the tooltip. In practice this means CPU is often visible in the status bar, while RAM requires opening the Coder sidebar or hovering the status item.

Why RAM should be more visible

In Kubernetes-backed workspaces, CPU and RAM pressure have very different failure modes:

  • When CPU maxes out, Kubernetes throttles the container and work usually just takes longer.
  • When RAM maxes out, Kubernetes can OOM-kill the pod and restart the workspace.

That makes RAM usage much more important to watch continuously. A status-bar RAM indicator would give users time to stop processes, reduce workload, or resize the workspace before the pod is killed.

Suggested UX

Show RAM usage directly in the VS Code status bar when RAM metadata is available, for example:

RAM 54.1/64 GiB (85%)

or a compact variant:

54.1/64 GiB RAM (85%)

Possible behavior:

  • Prefer metadata whose display name/key clearly represents RAM or memory usage.
  • Keep CPU and other metadata available in the tooltip.
  • Show a warning state when memory usage is high, such as above 80% or 90%.
  • If RAM data is unavailable, do not show a misleading value; keep current behavior or explicitly indicate that memory usage is unavailable.

Acceptance criteria

  • The VS Code status bar can show RAM usage for the active Coder workspace.
  • The visible status text includes used memory, memory limit/total, and percentage when available.
  • High-memory states are visually noticeable.
  • Existing agent metadata tooltip behavior is preserved or improved.
  • Missing/unparseable RAM metadata is handled explicitly and does not look like a successful live reading.

Relevant code paths

  • src/remote/remote.ts currently creates the agent metadata status bar item and uses the first metadata event as the status text.
  • coder/coder already provides coder stat mem, and default Kubernetes template metadata includes RAM Usage, so this may be possible as a display-priority improvement without requiring new workspace telemetry.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions