netwatch ~ ~/labs/syswatch.md
preview·v0.1.1
cd~/labs/syswatch
← all tools
syswatch.tui

syswatch

Single-host system diagnostics TUI.

SysWatch is the terminal you open when something feels off — before you reach for htop, iostat, nettop, powermetrics, and a notebook full of one-liners. Where htop shows you what’s running, SysWatch shows you what’s happening across CPU, memory, IO, GPU, power, and services — and tells you why in plain English when something’s anomalous.

Twelve tabs, cross-platform via sysinfo on macOS and Linux. Net interface counters and aggregate disk IO route through netwatch-sdk, so SysWatch and the NetWatch agent share a single source of truth for those parsers. Read-only by design — it never kills, renices, unmounts, or restarts.

$cargo install syswatch
~ $ syswatchtui
syswatch TUI demo
// syswatch · loops · no audio▶ playing
// 01 · install

Install

Cargo
$cargo install syswatch

Crates.io / Homebrew / pre-built binaries land with the v0.1 release.

From source
$git clone https://github.com/matthart1983/syswatch.git && cd syswatch && cargo build --release

Rust 1.75+. No system dependencies on Linux; macOS links against the system frameworks.

// 02 · usage

Usage

  1. 1
    Default 1 Hz tick
    $syswatch
  2. 2
    Faster refresh (2 Hz)
    $syswatch --tick 500
  3. 3
    Boot straight into a tab
    $syswatch --tab procs
// 03 · the tabs

The tabs

Each tab replaces a stack of one-off CLI tools.

#TabReplaces
1Overviewdashboard view of all subsystems
2CPUhtop CPU panel, top -d, mpstat
3Memoryfree, vm_stat, htop mem panel
4Disksiostat, iotop (aggregate)
5Filesystemsdf -h, df -i, mount
6Procshtop, ps auxf, pstree
7GPUioreg AGXAccelerator / /sys/class/drm
8Powerpmset, ioreg AppleSmartBattery / /sys/class/power_supply
9Serviceslaunchctl list / systemctl list-units
0Netnettop, iftop
-Timelinesession log + scrubber (no CLI equivalent)
+Insightsplain-English anomaly cards (no CLI equivalent)
// 04 · keys

Keys

1 2 3 4 5 6 7 8 9   →  Overview / CPU / Mem / Disks / FS / Procs / GPU / Power / Services
0 - +               →  Net / Timeline / Insights
Tab / Shift-Tab     →  Cycle tabs
↑ / ↓               →  Select row (Procs, Services)
s                   →  Cycle sort (Procs, Services)
← / →               →  Scrub session backward / forward
Home / End          →  Oldest sample / live
p                   →  Pause
q / Ctrl-C          →  Quit
// 05 · what’s distinctive

What’s distinctive

Insights tabHeuristic anomaly detection over the rolling session — swap thrash, runaway processes, disk full, memory pressure, high load, zombie parties — surfaced as plain-English cards with a suggested tab. The Overview’s bottom strip and the tab bar’s [+] badge keep them in sight from anywhere.
Session-wide scrubbingThe Timeline tab’s ←/→ rewinds the entire app — every panel transparently shows historical state. The session ring is the foundation Snapshot/Diff and Recording will sit on (v0.2).
Honest about platform limitsWhere data needs sudo (fans, per-component power, GPU util on Apple Silicon) the tab shows what it can get for free and a one-line note about what’s gated. Nothing is faked, nothing prompts.
// 06 · anti-goals

Anti-goals

Not multi-host — for fleet view, use NetWatch’s web dashboard. Not a daemon — no long-running collector, no Prometheus push; the session is the database. Not interactive remediation — read-only, deliberately; it doesn’t kill, renice, unmount, or restart. Not a logging product, and not pretty charts for screenshots: block sparklines, real numbers, no smooth curves.

// 07 · v0.1 scope
v0.1 scope

All twelve tabs render real data on macOS and Linux today. Deferred to v0.2: Snapshot+Diff, Profiles, Recording/Replay, Settings, Help, and filter. Deferred behind sudo: fans, per-component power, and some GPU temperature/power rails. NVIDIA live GPU stats and full SMART health are behind cargo features (gpu-nvidia, smart).

// related