Storage Health Center

DiskWatch

At this rate, when does /var/log fill up? A regression gives you the date.

Free right now — no account, no card

Get DiskWatch free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design DiskWatch, 1 of 1
Screenshot DiskWatch running on Windows today

Free while we’re in preview

Get DiskWatch

At this rate, when does /var/log fill up? A regression gives you the date.

The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.

One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.

Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.

  • One file — no installer
  • Runs on your machine, offline
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, DiskWatch is included in every plan along with the rest of the range.

Sample now, ask later

diskwatch sample --watch /var/log --history usage.jsonl --capacity 20GB from cron appends exactly one line per run. Existing lines are never read back or rewritten, so it’s safe to run while something else is reading the file.

Once you have two or more, diskwatch forecast fits an ordinary least-squares line of bytes against days for each watched path separately and solves it for the capacity you stated. You get the growth rate in bytes per day, the R-squared, the sample window, days until full and a calendar date.

R-squared is doing real work here. Near 1.0 means usage is tracking a straight line and the projection is worth acting on. Low means the growth is erratic and the date is a guess.

It refuses to invent numbers

Fewer than two samples, zero or negative slope, already over capacity, flat usage with no variance: each is reported plainly. R-squared prints “n/a” rather than a fake 1.0, and no negative days-until-full is ever shown.

Two honest caveats

Sizes are apparent file lengths, not blocks consumed, so sparse files read larger than they are. And the model is strictly linear, so a sawtooth log-rotated tree fits badly. Watch R-squared.

Reading on the job itself

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working CLI prototype of the capacity-forecasting engine: it records timestamped usage samples, then fits a least-squares linear regression to project days-until-full against a stated capacity, reporting the slope, the R² goodness-of-fit and the sample window. The regression was independently re-derived in exact rational arithmetic and matches to full double precision. Real per-volume capacity via statfs and SMART data need native OS APIs and are on the roadmap.

Recorded session

Recorded terminal session showing DiskWatch running
A real recorded session — DiskWatch’s actual output, captured by running the shipped binary.

Naming status

Working name only — brand verdict **RENAME** (High). Collision: DiskWatch. Rename before launch.

What it draws on

Existing paid software whose best ideas shaped this program: TreeSize Professional, Hard Disk Sentinel Professional, WizTree Enterprise, CCleaner Professional.

Command line

There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.

diskwatch - capacity forecasting for directory trees (Techlosoft Storage Health Center)

USAGE
  diskwatch sample   --watch <dir> [--watch <dir> ...] --history <file.jsonl> [--capacity 10GB]
  diskwatch forecast --history <file.jsonl> [--capacity 10GB] [--json]
  diskwatch history  --history <file.jsonl> [--json]
  diskwatch help | -h | --help

COMMANDS
  sample     Measure recursive byte usage of each watched tree and append ONE
             JSON line to the history file. The history is append-only; earlier
             lines are never rewritten.
  forecast   Fit a least-squares linear regression of bytes over time for each
             watched path and project days until the stated capacity is reached.
  history    List the samples recorded so far.

FLAGS
  --watch <dir>     Directory tree to measure. Repeat for multiple trees.
  --history <file>  Path to the JSON-lines history file (created on first sample).
  --capacity <size> Capacity to forecast against: 10GB, 500MB, 2TiB or raw bytes.
                    Suffixes are binary (1KB = 1024 B). If omitted on forecast,
                    the most recent capacity recorded in the history is used.
  --json            Machine-readable JSON output (forecast, history).

EXAMPLES
  diskwatch sample --watch /var/log --watch ./data --history usage.jsonl --capacity 20GB
  diskwatch forecast --history usage.jsonl
  diskwatch forecast --history usage.jsonl --capacity 50GB --json
  diskwatch history --history usage.jsonl

Flags may appear before or after positional arguments.

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

console.go · console_test.go · guided.go · main.go

SHA-256 checksums · build instructions & scope notes · full build plan