finds.dev← search

// the find

vladkens/macmon

★ 1,741 · Rust · MIT · updated Jun 2026

🦀🌡️ Real-time system monitor for Apple Silicon Macs (M1–M5). No sudo. TUI, JSON/Prometheus metrics server, and Rust library.

macmon reads Apple Silicon power, temperature, and utilization data from a private macOS IOKit API — the same source as powermetrics — but without needing root. It gives you a ratatui TUI, a JSON pipe mode for scripting, and a Prometheus/Grafana-compatible HTTP server. This is the tool you want if you're benchmarking local LLM inference or tracking thermal throttling on an M-series Mac.

The sudoless approach is the whole win here: it pulls from IOKit counters directly rather than wrapping powermetrics, so you can run it in any terminal, cron job, or CI script without privilege escalation. The dual CPU usage metrics (frequency-scaled effective usage vs. raw active residency) are genuinely useful for understanding Apple Silicon's heterogeneous core behavior — most tools collapse this into one number. The launchd auto-install for the serve mode is a nice touch; one command gets you a persistent metrics endpoint that survives reboots. The Rust library path is clean enough to be actually usable: two methods with a clear contract, no hidden global state.

The private API dependency is a ticking clock — Apple has broken this across macOS releases before, and there's no fallback. The per-core frequency and usage fields are marked experimental and return cluster aggregates when per-core data isn't available, which is quietly misleading if you're not reading the docs. The library is only installable via git URL, not crates.io, so you can't pin a semver range or get yanked-version protection. The gpu_ram_power field in the JSON output literally has a comment saying 'not sure what it means', which is a red flag if you're building dashboards on top of it.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →