Keeps the last 24 hours of readings in the backend, so the web client's graphs no longer start empty when you open a page. Adds graphs for temperatures, power, frequency and fans, and lets you export the history as CSV or JSON from the web client, the CLI and the connectors.
History
- Keep up to the last 24 hours of the graphed readings in the backend: CPU usage, temperature, frequency, power and load average, memory, swap, battery, system power, network and disk rates, each disk's temperature, each GPU's core and memory load, temperature and power, and each sensor temperature and fan speed.
- Save the history to
data/history.jsonevery 5 minutes and on shutdown, so a restart keeps it. A full day takes about 1.25 MB of memory with two GPUs and fifteen sensors. - Add the
GET_HISTORYWebSocket event, with an optionalsincefor only newer readings andmodulesfor only some modules' readings.
See Getting history.
Web client
- Fill the graphs from the backend's history, then add only the newer readings each minute.
- Add a 1h, 6h and 24h range to every graph, shared across them and remembered, with each graph's average and peak for the range.
- Add graphs for CPU temperature, power, frequency and load average, GPU memory load, temperature and power, disk temperatures, sensor temperatures, fan speeds and system power, and temperature and power cards on the overview.
- Add an Export menu to the overview and the module pages. It lists every module as a checkbox, ticked for what the page graphs, and downloads CSV or JSON.
- Label the time axis in whole seconds, minutes or hours.
See Web client.
CLI
- Add
client history exportto export the history as CSV or JSON, with--since,--moduleand--output.
See Export history.
Connector
- Add
getHistoryto the TypeScript connector andget_historyto the Python connector, both takingsinceandmodules. - Add
historyToCsvto the TypeScript connector andMetricHistory.to_csv()to the Python connector, writing the same CSV as the CLI.
Docs
- List
data/history.jsonand the graphs' saved time range on the privacy page.
Dependencies
- Update
setuptoolsto 84.1.0 for the Python connector (#4467).
Full Changelog: 5.14.0...5.15.0