A menu bar system monitor that keeps history.
StatGlass shows CPU, GPU, memory, power and sensors, network, disk and battery once a second, and keeps up to 30 days of it on your Mac. When the fans spun up at 3pm, you can scroll back and see which process did it.
Free and open source. Apple Silicon Macs on macOS 26 or newer.
CPU
43%The readings stay in the menu bar when nothing is open.
You pick a style the first time StatGlass opens and can change it in Settings, down to which values the combined item shows. Settings warns you when that item gets wide enough to disappear behind a MacBook's camera notch.
- Combined
- One item. The default, and the smallest.
- 49°10:40
- Values only
- Numbers with stacked labels.
- 14%9%60%49°10:40
- Graph per module
- Separate items you can reorder with ⌘‑drag.
- 60%30 KB/s ↑538 KB/s ↓10:40
- Per-core strip
- Every core's load, performance cores first.
- 10:40
Scroll back to when the fans spun up.
The Timeline puts every module on one chart covering the last hour, 24 hours, 7 days or 30 days, and marks fans ramping, thermal state changes, a process pinning the CPU and power spikes on it. Select an interval to see which apps used the most CPU, GPU, memory, power or network in it, compared with the interval before.
| Last 24 hours | 10-second buckets |
|---|---|
| Through 7 days | 1-minute buckets |
| Through 30 days | 15-minute buckets |
How far back that reaches depends on activity and the limit, so 30 days is the most, not a promise. History and storage has the details.
Open the dashboard demo in its own tab. It needs a window at least 1024 px wide.
From per-core load to Docker containers.
Each module has a card in the popover and a page in the dashboard.
- CPU
- Total and per-core load, efficiency and performance clusters, top processes
- GPU
- Utilization, frequency, GPU time per process
- Memory
- App, wired, compressed and cached memory, pressure, swap
- Power & Sensors
- Power draw with per-app lines, thermal zone history, temperatures, fan speeds and thermal state
- Network
- Rates per interface, download and upload per process
- Disk
- Read and write rates, free space, top processes and an on-demand space report
- Battery
- Charge, health, cycle count, power in or out, time remaining
- Processes
- Every process, with CPU, memory, disk, network and GPU columns
- Containers
- Opt-in local Docker CPU, memory and I/O, history, logs and reviewed cleanup
Under 1% of one core with only the menu bar showing.
In the background StatGlass samples every 2 seconds. Open a window and it samples every second and uses 6 to 10% of one core, depending on the page.
| App | State | CPU, % of one core | Memory |
|---|---|---|---|
| StatGlass | Menu bar only, default settings | 0.67% | 105 MB |
| Stats 3.0.20 | Menu bar only, default settings | 4.1% | 149 MB |
| Activity Monitor | Window open, 5 s updates | 3.9% | 138 MB |
Single runs on a busy machine, before remote monitoring existed, with Docker monitoring off. Activity Monitor had its window open, so compare it with StatGlass's 6 to 10% windowed figure. Run make bench in the repository to measure your own Mac.
Your other Macs and Linux servers too.
Add another Mac or a Linux server over SSH and see its live metrics and history from this one. Setup installs StatGlass on the other host for you, and the data travels over SSH with no StatGlass server in between.
Nothing leaves your Mac.
StatGlass reads macOS as your user, without a privileged helper, and sends no metrics, history or machine identifier anywhere. Besides SSH to hosts you add, its only connection is the update check to GitHub, which you can turn off.
StatGlass is free under the Apache-2.0 license.