Back to feed

matthart1983/syswatch

matthart1983/syswatch
270
+140/day
14
Rust

Single-host system diagnostics TUI. Sibling to netwatch. Twelve tabs, plain-English insights, session scrubber. macOS + Linux.

From the README

SysWatch

Single-host system diagnostics in your terminal. The terminal you open when something feels off — before you reach for htop, iostat, nettop, powermetrics, and a notebook full of one-liners.




Sibling to NetWatch. Same chrome. Same palette. Twelve tabs covering everything that runs on one box.

What it shows

| # | Tab | Replaces | |---|---|---| | 1 | Overview | dashboard view of all subsystems | | 2 | CPU | htop CPU panel, top -d, mpstat | | 3 | Memory | free, vm_stat, htop mem panel | | 4 | Disks | iostat, iotop (aggregate) | | 5 | Filesystems | df -h, df -i, mount | | 6 | Procs | htop, ps auxf, pstree | | 7 | GPU | ioreg AGXAccelerator PerformanceStatistics / /sys/class/drm | | 8 | Power | pmset, ioreg AppleSmartBattery / /sys/class/power_supply | | 9 | Services | launchctl list / systemctl list-units | | 0 | Net | nettop, iftop | | - | Timeline | (no equivalent — session log + scrubber) | | + | Insights | (no equivalent — plain-English anomaly cards) |

Where htop shows you what's running, SysWatch shows you what's happening — across CPU, memory, IO, GPU, power, services — and tells you why in plain English when something's anomalous.

Install

git clone  && cd syswatch
cargo build --release
./target/release/syswatch

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

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

Usage

syswatch                       # default 1Hz tick
syswatch --tick 500            # 2Hz
syswatch --tab procs           # boot straight into a tab

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

What's distinctive

Insights tab. Heuristic 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 scrubbing. The 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 limits. Where data needs sudo (powermetrics for fans, per-component power, GPU util on Apple Silicon) the tab shows what we can get for free and a one-line note about what's gated. Nothing is faked, nothing prompts.

Anti-goals

  • Not multi-host. For fleet view,