[Webkit-unassigned] [Bug 28819] New: Heap profiler: showing retainers
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Aug 28 14:16:16 PDT 2009
https://bugs.webkit.org/show_bug.cgi?id=28819
Summary: Heap profiler: showing retainers
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: Tools / Tests
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: mnaganov at chromium.org
CC: timothy at hatcher.name, pfeldman at chromium.org
Created an attachment (id=38753)
--> (https://bugs.webkit.org/attachment.cgi?id=38753)
UI proposal
Hi Timothy,
I want to introduce another feature I want to add to heap profiler: an ability
to show retainers for objects, that is, to trace paths from objects to GC
roots. This helps a developer to understand, why a particular object can't be
GCed.
A typical usage scenario is as follows:
- a developer looks at heap statistics and finds objects taking too much space,
or not being collected, and she wonders why those objects are retained in heap;
- she invokes an action of showing object instances and retainers (e.g. by
double clicking on a row in heap stats grid);
- a pane opens (if not already opened) showing a list of instances; every
instance is presented as a row specifying the size of an instance (sizes may
vary, e.g. for instances of Object or Array), rows are sorted in decreasing
order (bigger instances first);
- every instance has an expansion triangle, by clicking on it all retainers of
the particular instance are listed hierarchically, down to GC roots.
The exploration of instances and retainers is done dynamically on a "live"
heap. It is actually not bound to a heap snapshot. An alternative approach
would be to keep complete heap snapshots and make instances and retainers view
per snapshot. But I'm against it, because as heap is mostly consist of object
references, it means that data with sizes comparable to heap sizes (dozens of
MB) will need to be transferred and stored in Inspector.
It means that objects and retainers pane isn't bound to heap snapshots (that's
why the show / hide button isn't on view's statusbar), and snapshots are only
serve for starting an inspection for a specified constructor.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list