tools/profiler/nsIProfiler.idl

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 #include "nsISupports.idl"
     8 [scriptable, uuid(d64e01e1-603f-4478-bb9e-47d502f23f7b)]
     9 interface nsIProfiler : nsISupports
    10 {
    11   void StartProfiler(in uint32_t aEntries, in double aInterval,
    12                       [array, size_is(aFeatureCount)] in string aFeatures,
    13                       in uint32_t aFeatureCount,
    14                       [array, size_is(aFilterCount), optional] in string aThreadNameFilters,
    15                       [optional] in uint32_t aFilterCount);
    16   void StopProfiler();
    17   boolean IsPaused();
    18   void PauseSampling();
    19   void ResumeSampling();
    20   void AddMarker(in string aMarker);
    21   string GetProfile();
    22   [implicit_jscontext]
    23   jsval getProfileData();
    24   boolean IsActive();
    25   void GetResponsivenessTimes(out uint32_t aCount, [retval, array, size_is(aCount)] out double aResult);
    26   void GetFeatures(out uint32_t aCount, [retval, array, size_is(aCount)] out string aFeatures);
    28   /**
    29    * Returns a JSON string of an array of shared library objects.
    30    * Every object has three properties: start, end, and name.
    31    * start and end are integers describing the address range that the library
    32    * occupies in memory. name is the path of the library as a string.
    33    *
    34    * On Windows profiling builds, the shared library objects will have
    35    * additional pdbSignature and pdbAge properties for uniquely identifying
    36    * shared library versions for stack symbolication.
    37    */
    38   AString getSharedLibraryInformation();
    39 };

mercurial