Reports multiple memory measurements using a callback function that gets called once for each measurement.
1.0
28
Introduced
Gecko 7.0
Inherits from:
nsISupports
Last changed in Gecko 12.0 (Firefox 12.0 / Thunderbird 12.0 / SeaMonkey 2.9)If you want to gather multiple measurements in a single operation (such as a single traversal of a large data structure), you can use a multi-reporter to do so. The callback, which must implement the nsIMemoryMultiReporterCallback
interface, receives values that match the fields in the nsIMemoryReporter
object.
In order for a multi-reporter to gather and generate reports, you need to call collectReports()
. This will call the specified callback's nsIMemoryMultiReporterCallback.callback()
method once for each report. This will trigger any needed computation work.
Note: This differs from the behavior of
nsIMemoryReporter
, which lets all fields except amount
be accessed without triggering computation.Attributes
Attribute | Type | Description |
---|---|---|
explicitNonHeap |
PRInt64 |
The sum of all of this multi-reporter's measurements that have a path that starts with "explicit" and are of the kind
Note: This is a hack that makes
nsIMemoryReporterManager.explicit more efficient. This is important; multi-reporters can special-case this operation so it's much faster than gathering all the reports, filtering out the unneeded ones, and adding up the rest. |
Method overview
void collectReports(in nsIMemoryMultiReporterCallback callback, in nsISupports closure); |
Methods
collectReports()
void collectReports( in nsIMemoryMultiReporterCallback callback, in nsISupports closure );
Parameters
-
callback
-
The
nsIMemoryMultiReporterCallback
to call when collection is complete. -
closure
-
An object containing any additional data your
callback
might need; this gets passed to the callback. You can specifynull
if your callback doesn't require any additional data.
See also
Document Tags and Contributors
Tags:
Contributors to this page:
Sheppy,
nnethercote
Last updated by:
Sheppy,