Stop calculating "Other" memory, report global Sqlite memory in Other measurements
Categories
(Core :: SQLite and Embedded Database Bindings, task, P3)
Tracking
()
People
(Reporter: mak, Assigned: mak)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
We use the connections array to subtract each connection memory from the globally measures sqlite memory, and generate an "Other" bucket.
Apart from forcing us to have the connections array, measuring the global Sqlite memory has also a cost, as Andrew found at https://www.sqlite.org/malloc.html#_memory_status
Additionally, the Firefox Profiler now has powerful tools to measure memory, that means we have a better way to precisely measure this Sqlite usage in the wild, when bugs are reported.
Here is the current proposal:
- Let each connection measure and report memory on its own, maintaining the current tree structure in about:memory
- Stop calculating Other, instead report the global Sqlite memory usage in Other Measurements
- Only report the global Sqlite usage in Nightly and early beta, removing contention lock risks from Release.
| Assignee | ||
Updated•3 years ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 1•3 months ago
|
||
Each Connection now self-reports its stmt/cache/schema memory under
explicit/storage/sqlite/<filename>/ instead of Service iterating all
connections. The explicit/storage/sqlite/other bucket is removed.
On EARLY_BETA_OR_EARLIER builds, Service::CollectReports reports global
SQLite memory (page-cache and other) as KIND_OTHER in about:memory Other
Measurements, with SQLITE_CONFIG_MEMSTATUS enabled accordingly.
Updated•3 months ago
|
Description
•