egui viewer for the vitals-log CSV files: status strip, grouped time-series plots, incremental tailing of the monthly logs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
# vitals
|
|
|
|
Viewer for the CSV logs written by `vitals-log` (`~/.local/bin/vitals-log`, run
|
|
every minute by the `vitals-log.timer` systemd user unit). Shows the latest
|
|
reading and time-series plots of temperatures, battery, memory, memory pressure
|
|
and load. Built with egui and egui_plot.
|
|
|
|
cargo install --path .
|
|
vitals [--dir PATH] [--interval SECONDS] [--range 1h|6h|24h|7d|all]
|
|
|
|
The log directory defaults to `$XDG_STATE_HOME/vitals` (`~/.local/state/vitals`).
|
|
Every `vitals-YYYY-MM.csv` there is loaded at startup; after that only bytes
|
|
appended since the last check are read (every 10 s by default). Columns are
|
|
matched by header name, so a changed log layout shows gaps rather than breaking.
|
|
|
|
Drag to pan and ctrl-scroll or pinch to zoom the time axis; all plots move
|
|
together. Picking a range preset returns to following the clock. Lines break
|
|
where the logger was not running, and on-battery periods are shaded in the
|
|
battery plot. Wide ranges are reduced to per-bucket min/max, so spikes stay
|
|
visible.
|
|
|
|
- `src/data.rs` — parsed series, windowing, gap splitting, downsampling
|
|
- `src/tail.rs` — incremental file reader, month rollover, replaced-file reload
|
|
- `src/main.rs` — the UI; the `PANELS` table defines the plots
|