Commit Graph

153 Commits

Author SHA1 Message Date
Ryan Hunt
a5e1b94718 Bug 1523969 part 24 - Move method definition inline comments to new line in 'tools/'. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D21125

--HG--
extra : rebase_source : 06b6b612faecb0beff2c359f8893e40638c4a029
extra : histedit_source : 69bbbe1c1cd598cc52103143baf6bbe4ff4b2d5b
2019-02-25 16:13:15 -06:00
Greg Tatum
7e0ec04242 Bug 1529386 - Rename DiskIO marker payloads to FileIO in profiler; r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D20572

--HG--
extra : moz-landing-system : lando
2019-02-21 15:32:07 +00:00
Kris Maglione
b2f85650a1 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
extra : intermediate-source : 7a1ef487a9e74d66b112034051e49b77023860b8
extra : histedit_source : 88d19dbee4a99faa191e49e2847c4c59aba05b0c%2C5ee702f97153152d31124e0c5f3e8318cbeb3195
2019-01-29 16:03:41 -08:00
arthur.iakab
470dbf03b6 Backed out 5 changesets (bug 1524687) for causing build bustages on platform.h CLOSED TREE
Backed out changeset 0f06a6b51bfe (bug 1524687)
Backed out changeset 7a1ef487a9e7 (bug 1524687)
Backed out changeset accad7b4cbc7 (bug 1524687)
Backed out changeset eb33f7e6467c (bug 1524687)
Backed out changeset 86cf09db340b (bug 1524687)
2019-02-21 02:04:02 +02:00
Kris Maglione
95c0cf7aa9 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : rebase_source : ccc1b4f8559152237e523b67ea76e2b406c1cb11
extra : intermediate-source : e8ad5619116c31fc4d38e0e789ddb9b5d2a5bb25
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
2019-01-29 16:03:41 -08:00
Gerald Squelart
6d2814f092 Bug 1509533 - Include child process profiles in shutdown profiles - r=mstange
Received exit profiles are now stored in the main process' ActivePS and managed
there, including discarding expired profiles (when they don't intersect with the
parent's profile anymore).

nsProfiler may grab exit profiles from the profiler when the add-on needs them.

On shutdown, the profiler now includes non-expired exit profiles.

Differential Revision: https://phabricator.services.mozilla.com/D20277

--HG--
extra : moz-landing-system : lando
2019-02-19 23:14:12 +00:00
Markus Stange
0b151b8c2b Bug 1500692 - Centralize profiling category definition and add infrastructure for subcategories. r=njn
The actual subcategories will be added in later patches, so that there are no
unused categories.

Differential Revision: https://phabricator.services.mozilla.com/D11334

--HG--
extra : moz-landing-system : lando
2019-02-16 17:37:43 +00:00
Gerald Squelart
0af4548b10 Bug 1520103 - Fixed non-unified Profiler build - r=mstange
Found issues by forcing a local non-unified build.

Also sorted #includes by logical groups (from most local to most global), and
alphabetically within groups.

Depends on D18621

Differential Revision: https://phabricator.services.mozilla.com/D18622

--HG--
extra : moz-landing-system : lando
2019-02-07 17:35:37 +00:00
Greg Tatum
cfa7eff1dc Bug 1525409 - Rework the IOMarkerPayload structure to include better information; r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D18743

--HG--
extra : moz-landing-system : lando
2019-02-06 14:45:29 +00:00
Greg Tatum
7042c8f1c3 Bug 1520526 - Add categories to all profiler markers; r=mstange
This commit adds categories to all markers. This way the profiler's
marker categories and frame label categories agree. There are a few
duplicate category properties on some of the marker payloads, but
this could be cleaned up in a follow-up if needed.

Differential Revision: https://phabricator.services.mozilla.com/D16864

--HG--
extra : moz-landing-system : lando
2019-01-18 15:40:15 +00:00
Jean-Yves Avenard
48517afae6 Bug 1512298 - Make IPDL MozPromise exclusive. r=gerald,froydnj
MozPromise most common use is to have an single or exclusive listener. By making the MozPromise generated by IPDL exclusive we can also use move semantics.

While at it, we also use move semantics for the ResponseRejectReason and via the callback's reject method so that the lambda used with the MozPromise::Then can be identical to the one used by the IPDL callback.
As it currently is, it provides no advantage over a copy as it's just an enum; however, this will facilitate future changes where it may not be.

Differential Revision: https://phabricator.services.mozilla.com/D13906

--HG--
extra : moz-landing-system : lando
2018-12-11 19:22:26 +00:00
Nathan Froyd
47b90c968b Bug 1511470 - part 2 - reduce copying of profile data in ProfilerChild; r=mstange
This case is exactly the same as the previous commit: we can just adopt
the newly-generated profile into the outgoing nsCString.
2018-12-10 16:22:26 -05:00
Nathan Froyd
e1d14adf40 Bug 1511470 - part 1 - reduce copying of profile data in FinishGathering(); r=mstange
At this point, we've freshly allocated data for the generated JSON.
There's no need to copy it into a separate nsCString; we can simply
adopt the generated JSON into the nsCString, saving a copy.
2018-12-10 16:22:26 -05:00
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Nazım Can Altınova
52910a3163 Bug 1476775 - Part 1: Discard samples that are older than given duration r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6267

--HG--
extra : moz-landing-system : lando
2018-11-21 14:13:15 +00:00
Gerald Squelart
1bd6a1fd4e Bug 1435091 - p4. Use profiler_thread_is_being_profiled() instead of profiler_is_active() around profiler_add_marker()s - r=mstange
(Unless there were other profiler actions, as I'm not sure yet whether it would
be safe to skip them when the profiler is paused; another bug should
investigate that.)

Differential Revision: https://phabricator.services.mozilla.com/D11308

--HG--
extra : moz-landing-system : lando
2018-11-19 06:29:15 +00:00
Boris Zbarsky
ec2e099db9 Bug 1507540 part 4. Remove unused nsIProfiler::GetStartParams. r=mconley 2018-11-19 20:17:53 -05:00
Gabriele Svelto
d3db709684 Bug 1506264 - Fix querying the nsIObserver interface in all classes implementing it r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D11530

--HG--
extra : moz-landing-system : lando
2018-11-09 22:20:54 +00:00
Noemi Erli
06a8cd8e3c Backed out changeset bee1c344cb47 (bug 1491909) for failures in browser/components/extensions/test/xpcshell/test_ext_geckoProfiler_control.js 2018-10-24 04:23:13 +03:00
Denis Palmeiro
fc930ad16f Bug 1491909 - Add an AllocPolicy to mozilla::JSONWriter r=jwalden,mstange
JSONWriter currently calls new and delete indirectly through mozilla::MakeUnique to allocate a buffer.  Becuase of this, the methods of this class cannot be invoked within Spidermonkey due to https://searchfox.org/mozilla-central/source/config/check_vanilla_allocations.py#6-14.  Therefore, JSONWriter needs an AllocPolicy template parameter so that the allocation and deallocation routines can be changed to match the JS AllocPolicy when invoked within SpiderMonkey.

Differential Revision: https://phabricator.services.mozilla.com/D7279

--HG--
extra : moz-landing-system : lando
2018-10-23 20:46:31 +00:00
Markus Stange
9dd717b2b6 Bug 1484828 - Set SharedLibrary::mOffset to firstMappingStart - baseAddress. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D3834

--HG--
extra : moz-landing-system : lando
2018-09-21 02:37:37 +00:00
Markus Stange
b5d13857e4 Bug 1457481 - Add nsIProfiler.GetSymbolTable and a profiler/rust-helper crate which implements it for ELF binaries. r=njn,jrmuizel
r?njn for the profiler parts
r?jrmuizel for the ELF parsing parts

Depends on D7020

Differential Revision: https://phabricator.services.mozilla.com/D7021

--HG--
extra : moz-landing-system : lando
2018-10-02 01:50:02 +00:00
shindli
2cc7085b7a Backed out 4 changesets (bug 1457481) for c1 failures in devtools/client/performance-new/test/chrome/test_perf-settings-entries.html
Backed out changeset 212450f77860 (bug 1457481)
Backed out changeset ac3deff9340f (bug 1457481)
Backed out changeset 4478820fbcaa (bug 1457481)
Backed out changeset 1c8460b1d6da (bug 1457481)

--HG--
rename : third_party/rust/syn-0.14.6/src/parsers.rs => third_party/rust/syn/src/parsers.rs
rename : third_party/rust/syn-0.14.6/src/verbatim.rs => third_party/rust/syn/src/verbatim.rs
rename : third_party/rust/uuid-0.5.1/.travis.yml => third_party/rust/uuid/.travis.yml
rename : third_party/rust/uuid-0.5.1/src/rustc_serialize.rs => third_party/rust/uuid/src/rustc_serialize.rs
rename : third_party/rust/uuid-0.5.1/src/serde.rs => third_party/rust/uuid/src/serde.rs
2018-10-02 01:43:46 +03:00
Markus Stange
3965dd7110 Bug 1457481 - Add nsIProfiler.GetSymbolTable and a profiler/rust-helper crate which implements it for ELF binaries. r=njn,jrmuizel
r?njn for the profiler parts
r?jrmuizel for the ELF parsing parts

Depends on D7020

Differential Revision: https://phabricator.services.mozilla.com/D7021

--HG--
extra : moz-landing-system : lando
2018-10-01 20:16:07 +00:00
Jeff Walden
e4f79e2a19 Bug 1484421 - Move JSON-related functionality into js/public/JSON.h that isn't #include'd in jsapi.h. r=jandem 2018-08-20 07:54:45 -07:00
Jed Davis
96c18b6c4a Bug 1467889 - Adjust some uses of XPCOM strings. r=mrbkap r=mstange
MozReview-Commit-ID: 5AG4WAmbLZz
2018-07-19 14:14:50 -06:00
Jan de Mooij
4f7b2378dc Bug 1474273 - Add xpc::CurrentNativeGlobal and use it instead of NativeGlobal(JS::CurrentGlobalOrNull(cx)). r=bz 2018-07-11 14:07:02 +02:00
Nazım Can Altınova
118413a3d9 Bug 1466783 - Avoid copying while passing the profiler data with IPC r=mstange
MozReview-Commit-ID: HfskcLojToC

--HG--
extra : rebase_source : e88e6770d29bdda3b7b46ea9eb28ecdc36b3f0ee
2018-06-15 11:16:41 -07:00
Andreea Pavel
a892a1e9b1 Backed out changeset 463f7fc23171 (bug 1466783) build bustages on a CLOSED TREE 2018-07-05 13:26:40 +03:00
Nazım Can Altınova
d36bbb96e0 Bug 1466783 - Avoid copying while passing the profiler data with IPC r=mstange
MozReview-Commit-ID: HfskcLojToC

--HG--
extra : rebase_source : 361efe4349cbe97303313d47450e60f35a91d1b0
2018-06-15 11:16:41 -07:00
Nazım Can Altınova
1a45365811 Bug 1458246 - Use Shmem to pass the profiler data to be able to send large profiler data r=mstange
We were using nsCString to pass the profiler data between processes. But it was
failing to send because there is a ~256MB limit for the string data. So we
changed it to use Shmem instead. Shmem creates a shared memory and passes the
weak reference. With it, we can send larger data without having a problem.

MozReview-Commit-ID: 1kj57fZDXVF

--HG--
extra : rebase_source : 25a8ab57bcae8012fee1cdd9d4b767036db192d7
2018-06-01 19:28:32 +02:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Nika Layzell
2d188849ae Bug 1455217 - Part 3: Use the new xpidl Promise type instead of nsISupports, r=bz 2018-05-14 17:55:54 -04:00
Makoto Kato
63eeec4b3e Bug 1444796 - Part 2. Make nsIProfilerStartParams scriptable. r=mstange
To add test for startProfiler's parameters on devtools, nsIProfilerStartParams
changes to scriptable.

MozReview-Commit-ID: 3Rf39NzsND1

--HG--
extra : rebase_source : 2b4fc908e7c611a36ac8766b9ce7ccd55f2c5620
2018-03-14 15:05:50 +09:00
Chris Peterson
d09123f248 Bug 1436263 - Part 1: Replace final override virtual function specifiers with just final. r=froydnj
MozReview-Commit-ID: DE5HkIhsZ6D

--HG--
extra : rebase_source : 94831c1e13a840dd2ea0600f64bcf70c2bf938d9
extra : source : cf9283bf1b0bca3a6311c98e227329d451f80ecb
2018-02-05 22:46:57 -08:00
Markus Stange
7e880fe1f8 Bug 1431179 - Keep all exit profiles that overlap with the parent process's buffer time range. r=mconley
MozReview-Commit-ID: 1DIYQZ70ckR

--HG--
extra : rebase_source : f7f5e8e2d0380b54c50cb20b3d109cb476a2530f
extra : source : 612e54e7001a5907761d831b92aed5cee0deb017
2018-02-06 15:29:05 -05:00
Markus Stange
030cf34ac9 Bug 1431179 - When storing an exit profile, remember the current write position of the parent process's profiler buffer, instead of a TimeStamp. r=mystor
MozReview-Commit-ID: 3SFo9r5VrcZ

--HG--
extra : rebase_source : 2be8143e369de6dab82e1c1ef40a049aa478276c
extra : source : 9531d79fa5c3de2051a31fc475f6bbe3c93659a6
2018-01-30 13:28:35 -05:00
Markus Stange
49d6d03730 Bug 1348959 - Remove wraparound indexing in ProfileBuffer. r=djvj,mystor,njn
MozReview-Commit-ID: LeBFSRE6GXR

--HG--
extra : rebase_source : c46c0cd0dd543a367f72000e3cae65260a25b365
extra : source : 0f2e9dd7d45551d40944e4219e5a9eb92d54b2c4
2018-02-06 00:25:30 -05:00
Markus Stange
519cb27db8 Bug 1348959 - Make profiler_get_buffer_info() return information in a struct instead of using outparams. r=mystor,njn
MozReview-Commit-ID: 1iJ05NxOdou

--HG--
extra : rebase_source : 1c4e654340630b0f21c165b41b8fc1be30743c48
extra : source : 64b1a4108f6c3319cfc74c1246bdd2e895e93e1a
2018-01-18 17:54:57 -05:00
Byron Campen [:bwc]
816fe1f2b6 Bug 1431755 - Part 3: Remove a redundant dispatch that was causing us to record the duration of _two_ dispatches instead of one. r=mstange
MozReview-Commit-ID: E8lSvMbGjt6

--HG--
extra : rebase_source : a56a4fa76de084d8eeb1baebf520e672ba804119
2018-01-19 10:03:35 -06:00
Byron Campen [:bwc]
8d9cde7d0d Bug 1431755 - Part 2: Teach GeckoProfiler to profile responsiveness on nsIThreads. r=mstange
MozReview-Commit-ID: AqpNf9pDzrg

--HG--
extra : rebase_source : d7c67ec8564345f6b851691f4e3dee666dd025b1
2018-01-19 09:42:47 -06:00
Dorel Luca
aefaa99a3a Backed out 3 changesets (bug 1431755) for Mochitest failure on test_profile_worker_bug_1428076.html on a CLOSED TREE
Backed out changeset c1befb56cf4d (bug 1431755)
Backed out changeset 8116e9cfc3f0 (bug 1431755)
Backed out changeset 1878f143ccda (bug 1431755)
2018-01-31 00:58:04 +02:00
Byron Campen [:bwc]
da943dc517 Bug 1431755 - Part 3: Remove a redundant dispatch that was causing us to record the duration of _two_ dispatches instead of one. r=mstange
MozReview-Commit-ID: E8lSvMbGjt6

--HG--
extra : rebase_source : b303d66dfedcaa272cd851563a1a7585c4779fac
2018-01-19 10:03:35 -06:00
Byron Campen [:bwc]
44f6431bb0 Bug 1431755 - Part 2: Teach GeckoProfiler to profile responsiveness on nsIThreads. r=mstange
MozReview-Commit-ID: AqpNf9pDzrg

--HG--
extra : rebase_source : d873d9f05115004417b4c0d98dd8dceaef263172
2018-01-19 09:42:47 -06:00
Markus Stange
08c6b1b6c0 Bug 1431217 - Fix a typo that caused us to treat the parent process as shutting down when dumping the profile. r=mconley
MozReview-Commit-ID: IMk7VKMR6pE

--HG--
extra : rebase_source : 345ee1248236840a9c2d822b82f72d0b482cb8b4
2018-01-17 16:59:37 -05:00
Chris Peterson
37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Nika Layzell
a7666fd8fe Bug 1418048 - Add a callback-based Send API to async returning IPDL methods, r=billm
Currently if you write an async IPDL method which has a return value, we expose
a SendXXX method which returns a MozPromise. This MozPromise can then be
->Then-ed to run code when it is resolved or rejected.

Unfortunately, using this API loses ordering guarantees which IPDL provides.
MozPromise::Then takes an event target, which the resolve runnable is dispatched
to. This means that the resolve callback's code doesn't have any ordering
guarantees relative to the processing of other IPC messages coming over the same
protocol.

This adds a new overload to SendXXX with two additional arguments, a lambda
callback which is called if the call succeeds, and a lambda callback which is
called if the call fails. These will be called in order with other IPC messages
sent over the same protocol.

MozReview-Commit-ID: FZHJJaSDoZy
2017-11-20 17:55:32 -05:00
Nicholas Nethercote
b66a653de9 Bug 1407458 - Use nsString for Observation filenames. r=erahm.
This avoids some unnecessary string copying.

--HG--
extra : rebase_source : a81a5e1612be2897a4285f5f395e7cb3ed006bc8
2017-10-17 08:22:12 +11:00
Nicholas Nethercote
3076238153 Bug 1409227 (part 2) - Replace nsMemory::Clone(s, strlen(s)+1) with moz_xstrdup(s). r=erahm.
They are equivalent -- both infallible, both requiring measuring the length of
the string -- but moz_xstrdup is much more readable. (One place deals with
16-bit strings and so uses NS_strdup instead, which is also infallible.)

The patch also removes some failure-path code that will never execute due to
the infallibility.

--HG--
extra : rebase_source : 115574cf55db90b60e6bee59e5dc6ee409374159
2017-10-17 13:09:29 +11:00