Skip to content
StatGlass

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%
User29.2%
System13.8%
The popover's CPU card, drawn by the app's own components on simulated data.

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.
Values only
Numbers with stacked labels.
Graph per module
Separate items you can reorder with ⌘‑drag.
Per-core strip
Every core's load, performance cores first.

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.

How history is kept, within a 750 MB limit you can change
Last 24 hours10-second buckets
Through 7 days1-minute buckets
Through 30 days15-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.

M3 Max, macOS 27, plugged in, 2026-10-07. CPU time over 120 seconds, including helper processes.
AppStateCPU, % of one coreMemory
StatGlassMenu bar only, default settings
0.67%
105 MB
Stats 3.0.20Menu bar only, default settings
4.1%
149 MB
Activity MonitorWindow 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.

Monitor another Mac or a Linux host

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.

Privacy and data

StatGlass is free under the Apache-2.0 license.