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.
nsIMemoryReporter
, which lets all fields except amount
be accessed without triggering computation.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. |
void collectReports(in nsIMemoryMultiReporterCallback callback, in nsISupports closure); |
void collectReports( in nsIMemoryMultiReporterCallback callback, in nsISupports closure );
callback
nsIMemoryMultiReporterCallback
to call when collection is complete.closure
callback
might need; this gets passed to the callback. You can specify null
if your callback doesn't require any additional data.