gecko-dev/tools/profiler
Markus Stange 32230f6988 Bug 1329111 - Change the nsIProfiler shared library information API. r=njn
API before this change:
 - nsIProfiler::getSharedLibraryInformation() returns a string containing a
   JSON array of libraries.
 - The profile format is at version 3.
 - Every profile has a "libs" field that contains the same JSON string as the
   return value of nsIProfiler::getSharedLibraryInformation.
 - The array of libraries is not sorted.
 - Each library has a "name" field that contains:
    - The module's debug name on Windows
    - The full path to the binary on Mac + Linux

API after this change:
 - nsIProfiler::getSharedLibraryInformation() is removed.
 - nsIProfiler has a readonly property called sharedLibraries.
 - The profile format is at version 4.
 - Every profile has a "libs" field that contains the same array as
   nsIProfiler.sharedLibraries, no longer as a JSON string but as a regular
   array.
 - The array of libraries is sorted by start address.
 - Each library has a "name" field that contains the binary file's basename,
   on all platforms.
 - Each library has a "path" field that contains the full path to the binary,
   on all platforms.
 - Each library has a "debugName" field that contains the library's debug
   name, on all platforms. On Windows, the debug name is the filename
   (basename) of the pdb file for that binary. On other platforms, debugName
   is the same as |name|.
 - Each library has a "debugPath" field that contains the absolute path
   library's pdb file on Windows; on non-Windows, debugPath and path are the
   same.
 - Each library has an "arch" field that is either an empty string (Linux +
   Windows) or the library's architecture; it'll differentiate between the
   architectures "x86_64" and "x86_64h". (x86_64h is used for binaries that
   contain instructions that are specific to the Intel Haswell
   microarchitecture.)

MozReview-Commit-ID: 8Nrs4dyHhDS

--HG--
extra : rebase_source : 4039926ae4d776bf53ea71df5fe3f8200d3e2784
extra : source : 4e282aa03422de5b8d51e1aaeb3e53ee547293dd
2017-03-14 18:59:20 -04:00
..
core Bug 1329111 - Change the nsIProfiler shared library information API. r=njn 2017-03-14 18:59:20 -04:00
gecko Bug 1329111 - Change the nsIProfiler shared library information API. r=njn 2017-03-14 18:59:20 -04:00
lul Bug 1329111 - Supply SharedLibraryInfo with the absolute module path and debug path on all platforms. r=marco 2017-03-14 18:26:50 -04:00
public Bug 1329111 - Record shared library architecture on Mac. r=glandium,njn 2017-03-13 17:51:41 -04:00
tasktracer Bug 1346151 - Avoid compile time warning for format strings. r=cervantes 2017-03-10 02:03:00 -05:00
tests Bug 1329111 - Change the nsIProfiler shared library information API. r=njn 2017-03-14 18:59:20 -04:00
merge-profiles.py
moz.build Bug 1347348 (part 1) - Don't export ProfilerBacktrace.h. r=mstange. 2017-03-07 16:54:50 +11:00
nm-symbolicate.py