mozilla
Your Search Results

    nsIMemoryMultiReporter

    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 KIND_NONHEAP.

    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 specify null if your callback doesn't require any additional data.

    See also

    Document Tags and Contributors

    Contributors to this page: Sheppy, nnethercote
    Last updated by: Sheppy,