split about:memory reporting into more detailed sections

RESOLVED FIXED in mozilla2.0b3



9 years ago
9 years ago


(Reporter: shaver, Assigned: sdwilsh)


Windows 7
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)



(1 attachment)

Probably want one item per database for cache, one per database/connection for prepared statements, similarly for in-memory tables.

Comment 1

9 years ago
In order to do this, we'll need some new APIs (or an expansion of existing APIs) from SQLite.  What I think we'd need:
1) Given a sqlite3*, how much memory is used for the page cache
2) Given a sqlite3*, how much memory is used for currently compiled statements

This might go best on sqlite3_db_status.
Will that cover in-memory tables, like the ones that are currently used for places temp tables?

Comment 3

9 years ago
(In reply to comment #2)
> Will that cover in-memory tables, like the ones that are currently used for
> places temp tables?
I would think so, but that's something we can make sure gets covered too.

Comment 4

9 years ago
From drh:
You can get some extra global memory usage information
from sqlite3_status().  Specifically, if you look at the return from
sqlite3_status(SQLITE_STATUS_PAGECACHE_OVERFLOW,...) then (assuming that you
have *not* configured a separate chunk of memory designated specifically for
page cache, which presumably you have not) all page cache memory allocations
will be overflow allocations and so the result will show the current and the
peak amount of memory SQLite is using for page cache across all database
connections.  If you then subtract that amount from the total memory used,
you will get a reasonable estimate of the total memory used for compiled
statements.  Well, compiled statements + parsed schema storage + whatever
memory is being used but currently running queries.  That' isn't perfect,
but you could at least split the current about:memory line for sqlite into
two lines - one for sqlite.pagecache and another for sqlite.other.  I think
that would be a useful addition to about:memory and it doesn't require any
SQLite changes.

So, going to do that here, and when we get the new API, I'll open up a new bug.
Assignee: nobody → sdwilsh

Comment 5

9 years ago
Posted patch v1.0Splinter Review
Threw this together while I was waiting for my plane yesterday.
Attachment #458994 - Flags: review?(vladimir)

Comment 6

9 years ago
Last Resolved: 9 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b3
You need to log in before you can comment on or make changes to this bug.