Add session stats and VACUUM on deletion

database.py: count_sessions(), db_size() (db+WAL+SHM), vacuum()
(VACUUM + wal_checkpoint(TRUNCATE) to actually reclaim space in WAL mode)

server.py: /api/sessions now returns total_sessions + db_size;
DELETE /api/sessions/<id> runs vacuum() after deletion
This commit is contained in:
catarrh committed 2026-08-12 21:05:54 +03:00
1 parent 31011301ea
commit a1bbd0cf0f
2 files changed
+25 -1

No files matched your search

+6 -1
View File
@@ -126,7 +126,11 @@ class RequestHandler(BaseHTTPRequestHandler):
def _handle_list_sessions(self):
sessions = self.db.list_sessions()
self._send_json({'sessions': sessions})
self._send_json({
'sessions': sessions,
'total_sessions': self.db.count_sessions(),
'db_size': self.db.db_size(),
})
def _handle_get_session(self, session_id, params):
session = self.db.get_session(session_id)
@@ -192,6 +196,7 @@ class RequestHandler(BaseHTTPRequestHandler):
if self.capture.session_id == session_id:
self.capture.stop_session()
self.db.delete_session(session_id)
self.db.vacuum()
self._send_json({'ok': True})
def _handle_search(self, session_id, query):