in reply to upload logged data
Log to the local SQLite database, AND create an incrementing log file containing SQL statements.
A separate process (Either local, or on-request from the server) can periodically ship the incrementing file to the server, and delete them.
The server can apply the received logs and maintain the equivalent of a replicated database, to generate charts.
This has the advantage of being scalable for multiple logging sources, for centralized data processing (I'm an old-time mainframe guy).
I hope life isn't a big joke, because I don't get it.