Tech Specs / History
Persistent up/down history
--db <path> persists every session, interface state change, and host up/down period to a SQLite file — a durable, queryable record that survives past the current terminal session.
probescope run --hosts 1.1.1.1,8.8.8.8 --db ./probescope.dbRequires Pro or above (see the pricing page). No grammar to validate — a plain filesystem path, like --config/--license.

What's recorded
Four tables, backed by a self-contained SQLite store — no external database server or runtime dependencies to install, on any supported platform:
probescope_runs— one row per session: hostname, pinned interface, start/end time, state (running/completed/failed), host count, thresholds.hosts— a deduplicated registry of every distinct (host, ip, method) identity ever observed, persisting across runs.interface_runs— one row per interface up/down period, with start/end time and duration.host_runs— one row per host up/down period: state, method, start/end time, duration, ping count, timeout count, error count, and min/avg/max RTT for that period.
All timestamps are UTC; all durations (including RTT) are stored as seconds. A period row is inserted the moment it starts (with ended_at left NULL) and updated when it closes — so a still-open period ("currently down since...") is directly queryable with a plain WHERE ended_at IS NULL, no event-stream self-join needed.
Nothing is ever overwritten. Opening an existing --db file adds to it — a new probescope_runs row and its associated periods — never resets it, across any number of runs against the same file.
Crash resilience
Every open period's stats are refreshed roughly every 30 seconds while ProbeScope runs, so a crash leaves recent-ish data rather than nothing. On a clean exit, every still-open period is closed for real, with a genuine ended_at — the distinction between an open period at clean-exit time and one left open by a crash is itself informative to a later reader.
Retention
History isn't kept forever. Records older than your license tier's runtime limit are deleted outright — not archived — checked at startup, at shutdown, and periodically during a long-running session. Only closed periods are ever pruned; a period still in progress is kept regardless of how old it started. Team and Enterprise have no retention cap at all. See the pricing page for current per-tier numbers, and back up the database file yourself if you need it kept longer than your tier's window — ProbeScope doesn't manage backups.
What it's for
This is a normalized foundation for querying your own fleet's reliability history directly with SQL — uptime percentage over a date range, longest outage per host, RTT trends — not a bundled dashboard. Point any SQLite-capable tool at the file.
Related
- Detection — the threshold-confirmed transitions that become host_runs rows.
- Situational Awareness — the same underlying host state, viewed live rather than queried historically.