Summary
Store periodic system snapshots in a local SQLite database and expose a
History tab showing CPU, RAM, and disk usage trends over hours and days.
Answers the question: "why was my machine slow yesterday at 3pm?"
Why
This transforms Sysora from a real-time monitor into a proper observability
tool. No other lightweight tray app in this space does historical tracking.
This is the feature that makes power users recommend Sysora to others.
Scope
Rust backend
rusqlite = { version = "0.31", features = ["bundled"] }
CREATE TABLE snapshots (
id INTEGER PRIMARY KEY,
ts INTEGER NOT NULL, -- unix timestamp
cpu_pct REAL,
ram_used INTEGER,
ram_total INTEGER,
disk_used INTEGER,
disk_total INTEGER,
cpu_temp REAL
);
Frontend
Acceptance criteria
Summary
Store periodic system snapshots in a local SQLite database and expose a
History tab showing CPU, RAM, and disk usage trends over hours and days.
Answers the question: "why was my machine slow yesterday at 3pm?"
Why
This transforms Sysora from a real-time monitor into a proper observability
tool. No other lightweight tray app in this space does historical tracking.
This is the feature that makes power users recommend Sysora to others.
Scope
Rust backend
rusqlitecrate:get_history(hours: u32) -> Vec<SnapPoint>— last N hours of dataclear_history()— wipe all stored dataget_db_size() -> u64— show user how much space the DB usesFrontend
Acceptance criteria