Skip to content

System Metrics

The Sysinfo pane displays live system metrics for the machine AgentMux runs on, as time-series line plots.

The Sysinfo widget showing CPU, memory and network

  • Click Sysinfo (chart icon) in the widget bar. It is pinned by default.
  • Command palette (Ctrl+P): Open System Info.
  • Click + on any pane’s tab strip and pick Sysinfo.
  • Right-click a pane header → Replace With… → Sysinfo replaces that pane.
  • Press Ctrl+Shift+K to turn the focused pane into the widget launcher, then choose Sysinfo.

The starter layout on first launch, and in each new window, includes a Sysinfo pane above Swarm, next to the Agent pane.

The backend collects these values on every sample (crates/srv/src/backend/sysinfo.rs). Memory values are in GB (1024³ bytes) and throughput in MB/s (1024² bytes per second).

Metric KeyDescription
cpuOverall CPU usage, the average across all cores (0–100%)
cpu:0, cpu:1, …Usage of each core
Metric KeyDescription
mem:usedMemory in use (GB)
mem:freeFree memory (GB)
mem:availableAvailable memory (GB)
mem:totalTotal system memory (GB), used as the ceiling of the memory plots
Metric KeyDescription
net:bytessentNetwork bytes sent (MB/s)
net:bytesrecvNetwork bytes received (MB/s)
net:bytestotalTotal network throughput (MB/s)
Metric KeyDescription
disk:readDisk read throughput (MB/s)
disk:writeDisk write throughput (MB/s)
disk:totalTotal disk I/O throughput (MB/s)

Each Sysinfo pane shows one plot type (frontend/app/view/sysinfo/sysinfo-types.ts, PlotTypes). The default is CPU. To switch, right-click the pane header and open Plot Type, or right-click the chart itself. The choice is saved with the pane, and the pane’s title shows the current plot type.

Plot TypeMetrics Shown
CPUOverall CPU %
MemMemory used
CPU + MemBoth, one above the other
NetTotal network throughput
Net (Sent/Recv)Sent and received separately
CPU + Mem + NetAll three, one above another
Disk I/OTotal disk throughput
Disk I/O (R/W)Read and write separately
All CPUOne plot per core

When a plot type shows more than two metrics, the charts are arranged in a 2-column grid, except CPU + Mem + Net, which stacks them in one column. All CPU labels the first 32 cores; cores beyond that are plotted without a label.

The Y-axis depends on the metric: CPU is fixed at 0–100%; memory scales with usage up to total memory, with a floor of 1 GB; network and disk scale with the data, with a floor of 1 MB/s.

  • The backend samples once per second by default. Change this in Settings → Advanced → Sysinfo widget → Sample interval (telemetry:interval). The settings field accepts 1 second or more; the backend clamps the value to 0.2–2 seconds, so values below 1 second can only be set in the settings file, and anything above 2 samples every 2 seconds.
  • Samples are streamed to the frontend as sysinfo events over the app’s WebSocket. The backend keeps the latest 1024 samples so a newly opened pane can fill in its history.
  • A plot shows the latest 120 samples by default (2 minutes at the default interval). Change this with History length (telemetry:numpoints, 30 to 1024) in the same settings section.
  • If one to three samples are missed, the plot repeats the last value. A longer gap, such as after sleep/wake, leaves a break in the line.

Each metric type has a CSS variable for theming (frontend/app/theme.scss):

MetricCSS Variable
CPU--sysinfo-cpu-color
Memory--sysinfo-mem-color
Network--sysinfo-net-color
Disk--sysinfo-net-color (shared with network)

Sysinfo monitors only the machine AgentMux runs on: the backend runs a single, local collector. Remote-host monitoring, which earlier releases offered through the now-retired wsh helper (see docs/specs/archive/SPEC_RETIRE_WSH_2026_04_12.md in the main repo), is not supported.

The pane header still shows a connection selector. Leave it on the local connection: choosing any other connection leaves the pane blank.

The same collector also measures the CPU and memory used by each pane’s processes, shown as a small badge on the pane header. For terminal panes you can hide it with Settings → Terminal → Show CPU/mem badge (term:showstatsbadge).