Граф коммитов

88 Коммитов

Автор SHA1 Сообщение Дата
Tom Ritter 85a1130f9f Bug 1571219 - Refactor PerformanceMeasure to avoid double-reducing timestamps r=baku
Differential Revision: https://phabricator.services.mozilla.com/D50127

--HG--
extra : moz-landing-system : lando
2019-10-23 11:42:10 +00:00
Nazım Can Altınova 20fc64e558 Bug 1583271 - Part 1: Change profiler page information IDs to BrowsingContextID and InnerWindowID r=gerald,nika
We were keeping nsDocShell::mHistoryId and nsDocShell::mOSHE as keys. They
weren't quite good because:
1. While loading an iframe, they were being registered twice with the same
ids(for about:blank and the real URL) sometimes.
2. It wasn't possible to access to the parent mHistoryId and mOSHE from a child
processes if the parent is in a different process. That may not be the case for
now, but it will be after fission.
So we had to find other IDs to:
1. Determine the Tab of the frames.
2. Determine the URLs of the frames.
For the first use case, we were using nsDocShell::mHistoryId for that purpose
but that was wrong. The closest thing that we can get to a tab ID is
BrowsingContext ID because they don't change after a navigation. But iframes
have different BrowsingContext's, so we still need to create a tree to
construct a tab content. That can be either in the front-end or capture time.
For the second use case, we were using a key pair of mHistoryId and mOSHE. We
now chose to keep inner window IDs for that purpose. Inner window IDs are
unique for each navigation loads because inner window correspond to each JS
window global objects. That's why we can use that without any problem. But one
problem is that we cannot handle `history.pushState` and `history.replaceState`
changes with that change since window global objects won't change during those.
But that was the best thing we can do after fission. So this will be a small
sacrifice for us to keep that functionality working after fission.
In that patch we also remove the registration/unregistration calls. We are
going to add those calls in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 21:25:11 +00:00
Jason Laster 51d1769ca8 Bug 1583244 - Provide unfuzzed timings for UserTiming markers. r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D48092

--HG--
extra : moz-landing-system : lando
2019-10-04 18:51:45 +00:00
Gerald Squelart dc8ac83ba6 Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:22:12 +00:00
Bogdan Tara 361c83c1a9 Backed out 21 changesets (bug 1578327, bug 1575448, bug 1580091, bug 1576554, bug 1581049, bug 1576551, bug 1578329, bug 1576555) for platform.cpp related bustage CLOSED TREE
Backed out changeset 27afea20c396 (bug 1581049)
Backed out changeset be1ec4577d37 (bug 1581049)
Backed out changeset b4b6bbb18cc1 (bug 1581049)
Backed out changeset b30942f9db54 (bug 1581049)
Backed out changeset 473c431866f7 (bug 1578329)
Backed out changeset ac492dc3df20 (bug 1578329)
Backed out changeset f51875652f6f (bug 1578327)
Backed out changeset 512b7cbd18f6 (bug 1576555)
Backed out changeset 2d63a9934c00 (bug 1576555)
Backed out changeset ff73f648ab6c (bug 1576555)
Backed out changeset 49f49079bbb5 (bug 1576555)
Backed out changeset e8323157c6f3 (bug 1575448)
Backed out changeset 3b0d726f2dd6 (bug 1575448)
Backed out changeset 5924790abc4b (bug 1576554)
Backed out changeset a14ac9bb5338 (bug 1576554)
Backed out changeset b6d73f5042a7 (bug 1576551)
Backed out changeset 366030bd2d84 (bug 1576551)
Backed out changeset d7ee4148aad9 (bug 1576551)
Backed out changeset ec72dfc7301e (bug 1576551)
Backed out changeset 79b29286f906 (bug 1580091)
Backed out changeset 6f34c2e57ccf (bug 1580091)
2019-09-17 10:16:14 +03:00
Gerald Squelart 6b49069f3e Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:53:56 +00:00
Gerald Squelart 95f77c2409 Bug 1576819 - Use PROFILER_ADD_MARKER{,_WITH_PAYLOAD} everywhere - r=gregtatum
All calls to `profiler_add_marker()` (outside of the profilers code) are
now replaced by either:
- `PROFILER_ADD_MARKER(name, categoryPair)`
- `PROFILER_ADD_MARKER_WITH_PAYLOAD(name, categoryPair, TypeOfMarkerPayload,
                                    (payload, ..., arguments))`

This makes all calls consistent, and they won't need to prefix the category pair
with `JS::ProfilingCategoryPair::`.

Also it will make it easier to add (and later remove) internal-profiling
instrumentation (bug 1576550), and to replace heap-allocated payloads with
stack-allocated ones (bug 1576555).

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

--HG--
extra : moz-landing-system : lando
2019-09-04 07:56:51 +00:00
Tom Ritter 12e7d2f648 Bug 1387894 - Avoid Double-Reducing Performance Duration objects. r=baku
While in theory
  ReducetimePrecision(x) ==  ReducetimePrecision(ReducetimePrecision(x)
this is not always the case. Sometimes ReducetimePrecision(x) is only representable
as an epsilon below the target rounding; resulting in a second call causing
an unintentional additional reduction.

A performance entry's duration was one such place we were calling the reuction
function twice. We can remove one of those calls and just ensure that the original
entries are reduced. (They mostly were, except for one instance.)

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

--HG--
extra : rebase_source : 19e92f39c1616f3497d8904b2f80b68b13bad3e7
2019-08-02 07:37:09 +02:00
Tom Ritter 86568bf421 Bug 1387894 - Resolve timer intermittents when reduceTimerPrecision is disabled. r=smaug
We unconditionally clamp all times to 20us and not just performance.now()
This will consistently apply a 'safe' minimal clamping (it's not safe but
I guess it's safer than ns-level precision) to all timestamps, and remove
intermittents that are caused by comparing a clamped performance.now() to
an unclamped [something else].

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

--HG--
extra : rebase_source : 85f42a69cc88101c460acf784962076d39813627
2019-08-02 07:35:59 +02:00
Daniel Varga c7ecfc9e12 Backed out 9 changesets (bug 1387894) for wpt failures at /web-animations/timing-model/animations/finishing-an-animation.html on a CLOSED TREE
Backed out changeset 998582bf083d (bug 1387894)
Backed out changeset cd58aae7d47b (bug 1387894)
Backed out changeset a51919fb2062 (bug 1387894)
Backed out changeset ef7b589d751b (bug 1387894)
Backed out changeset 75c0249b594a (bug 1387894)
Backed out changeset 4a75f2556242 (bug 1387894)
Backed out changeset 0bff9ba4237c (bug 1387894)
Backed out changeset 80040c0a275e (bug 1387894)
Backed out changeset 02814f69872d (bug 1387894)
2019-07-30 21:05:59 +03:00
Tom Ritter 83a41908c3 Bug 1387894 - Resolve timer intermittents when reduceTimerPrecision is disabled r=smaug
We unconditionally clamp all times to 20us and not just performance.now()
This will consistently apply a 'safe' minimal clamping (it's not safe but
I guess it's safer than ns-level precision) to all timestamps, and remove
intermittents that are caused by comparing a clamped performance.now() to
an unclamped [something else].

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

--HG--
extra : moz-landing-system : lando
2019-07-30 15:11:41 +00:00
Andreea Pavel 8cbd06b810 Backed out 8 changesets (bug 1387894) for build bustages on a CLOSED TREE
Backed out changeset 09785dc4c5aa (bug 1387894)
Backed out changeset 05728160b89e (bug 1387894)
Backed out changeset 01e5b31bcc17 (bug 1387894)
Backed out changeset c5e16646ddb1 (bug 1387894)
Backed out changeset d1f09b772bac (bug 1387894)
Backed out changeset de538a48f455 (bug 1387894)
Backed out changeset d49cd8ef0825 (bug 1387894)
Backed out changeset fcfe77fab0ec (bug 1387894)
2019-07-30 17:17:39 +03:00
Tom Ritter b3e9fe99de Bug 1387894 - Resolve timer intermittents when reduceTimerPrecision is disabled r=smaug
We unconditionally clamp all times to 20us and not just performance.now()
This will consistently apply a 'safe' minimal clamping (it's not safe but
I guess it's safer than ns-level precision) to all timestamps, and remove
intermittents that are caused by comparing a clamped performance.now() to
an unclamped [something else].

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

--HG--
extra : moz-landing-system : lando
2019-07-30 13:19:05 +00:00
Will Hawkins 4e47836648 Bug 1539006: Properly implement Performance Timeline Level 2 w3c spec. r=mstange,baku
Differential Revision: https://phabricator.services.mozilla.com/D27008

--HG--
extra : moz-landing-system : lando
2019-04-12 16:29:48 +00:00
Bogdan Tara 3b6c73d88a Backed out changeset 3cd097a7b017 (bug 1539006) for po-observe.any.worker.html failures CLOSED TREE 2019-04-10 09:48:56 +03:00
Will Hawkins bfba5b52bb Bug 1539006: Properly implement Performance Timeline Level 2 w3c spec. r=baku,flod
Differential Revision: https://phabricator.services.mozilla.com/D26654

--HG--
extra : moz-landing-system : lando
2019-04-10 00:14:39 +00:00
Ciure Andrei 0dc8cf16eb Backed out changeset e04ef5171459 (bug 1539006) for permafailing test_worker_observer.html CLOSED TREE 2019-04-09 06:32:40 +03:00
Will Hawkins f2dbed5cf9 Bug 1525051: Fix resource-timing/buffer-full-inspect-buffer-during-callback.html WPT test. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D26399

--HG--
extra : moz-landing-system : lando
2019-04-08 23:21:08 +00:00
Will Hawkins 9833f90a1f Bug 1539006: Properly implement Performance Timeline Level 2 w3c spec. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D25426

--HG--
extra : moz-landing-system : lando
2019-04-09 00:43:10 +00:00
Dorel Luca 82007d97cd Backed out changeset cd466be3bacb (bug 1525051) for mochitest failures in dom/tests/mochitest/general/test_performance_timeline.html. CLOSED TREE 2019-04-03 13:35:03 +03:00
Will Hawkins 0ccb72a315 Bug 1525051: Fix resource-timing/buffer-full-inspect-buffer-during-callback.html WPT test. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D21156

--HG--
extra : moz-landing-system : lando
2019-03-15 04:26:41 +00:00
Boris Zbarsky 1c3e10afc5 Bug 1535384 part 1. Eliminate some easy cases of MOZ_CAN_RUN_SCRIPT_BOUNDARY on webidl callbacks. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D23771

--HG--
extra : moz-landing-system : lando
2019-03-19 05:24:39 +00:00
Ryan Hunt 00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06: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
Cosmin Sabou 7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02: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
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01: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 f967885c60 Bug 1417976 - Part 2: Include DocShell IDs to marker payloads r=mstange
MozReview-Commit-ID: AML1ESUnFlu

Depends on D4914

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

--HG--
extra : moz-landing-system : lando
2018-11-06 21:45:50 +00:00
Margareta Eliza Balazs df311518fe Backed out 3 changesets (bug 1417976) for bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/GeckoProfiler.h CLOSED TREE
Backed out changeset 908f30faf4b6 (bug 1417976)
Backed out changeset 44ae0b8569b2 (bug 1417976)
Backed out changeset 801cdde1f597 (bug 1417976)
2018-11-02 18:42:21 +02:00
Nazım Can Altınova 8432e48060 Bug 1417976 - Part 2: Include DocShell IDs to marker payloads r=mstange
MozReview-Commit-ID: AML1ESUnFlu

Depends on D4914

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

--HG--
extra : moz-landing-system : lando
2018-11-02 16:17:54 +00:00
Andrea Marchesini 13bf7aa219 Bug 1432429 - Clean up a few random areas of code to accomodate Fuzzyfox: Performance and RefreshDriver. r=froydnj,baku
1: Correct the Performance API 'NowUnclamped' to obtain a non-Fuzzed Timestamp

2: Do not compare fuzzed and non-fuzzed timestamps in a Refresh Driver assert,
since this happens so early on that we will eventually compare them and
asserting would be bad.
2018-09-18 13:05:48 -05:00
Andi-Bogdan Postelnicu 88cc63910d Bug 1453795 - DOM - Initialize member fields in classes/ structures. r=peterv
--HG--
extra : rebase_source : 249fc26e50bded4e94f5effa4308af0f1e54b908
2018-06-16 17:21:46 +03:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Andrea Marchesini 4cea8df527 Bug 1437897 - Remove a wrong assertion related to the size of the Performance resource entries array in Performance::InsertResourceEntry, r=bz 2018-04-11 07:42:43 +02:00
Boris Zbarsky 4292bca4ee Bug 1449631 part 6. Remove nsIDOMEventTarget::DispatchEvent. r=smaug
MozReview-Commit-ID: 8YMgmMwZkAL
2018-04-05 13:42:41 -04:00
Tom Ritter 6ebcecc30e Bug 1440195 Add a random context seed to the Performance APIs r=baku
We attach it to WorkerPrivate and DOMNavigationTiming so it will be re-used
when it should.

WorkerPrivate is used in the Performance APIs, Performance Storage Worker,
and Event.

DOMNavigationTiming is used only in the Performance APIs, but the crucial
part is that when the individual DOMNavigationTiming object is re-used,
so will the context seed. This in particular came up with the
nav2_test_document_open.html Web Platform Test which illustrated the fact
that even if you .open() a new document, the performance navigation data
is not supposed to change.

MozReview-Commit-ID: GIv6biEo2jY

--HG--
extra : rebase_source : da2ad8d9d6e0172679c6af14dba72938e9d2012c
2018-03-13 12:36:34 -05:00
Tom Ritter ce3c0e4f8f Bug 1443943 Allow internal callers of performance.now() to opt-out of clamping/jittering r=bholley
PresShell only uses performane.now to track refresh times, and notify internal
observers. We can provide more accurate times by not clamping and jittering
these numbers.

MozReview-Commit-ID: FkDGJhrLeAy

--HG--
extra : rebase_source : 99c571d1e5df53f51b4be0304df3818c161d2972
2018-03-09 20:12:53 -06:00
Tom Ritter ba0e15150d Bug 1443943 Port the performance APIs only to only clamping/jittering on non-System Principal r=baku
MozReview-Commit-ID: FKYLI5Yc1kX

--HG--
extra : rebase_source : a50952a233eff12c523bb9d9006d3143fa744005
2018-03-09 09:29:33 -06:00
Andreea Pavel e843cc64e7 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-09 21:35:33 +02:00
Andrea Marchesini 9cfc993eff Bug 1444150 Performance.measure(name) should not throw if name is one of the readonly attribute of the Performance interface, r=valentin 2018-03-09 08:23:44 +01:00
Greg Tatum 4f7596f26a Bug 1425605 - Add the start/end mark names to performance.measure profiler markers; r=baku,mstange
MozReview-Commit-ID: I8DzSlSi124

--HG--
extra : rebase_source : 5062bf33824284df7346dae15595f8e1e479bc40
2018-03-08 16:36:53 -06:00
Andrea Marchesini dce09604e1 Bug 1436744 - Get rid of WorkerCheckAPIExposureOnMainThreadRunnable, r=catalinb 2018-02-12 21:02:22 +01:00
Josh Matthews 19738f789f Bug 1436743 - Dispatch events via the docgroup rather than the tabgroup when possible. r=mystor 2018-02-08 15:54:00 -05:00
Andrea Marchesini 8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Andrea Marchesini a5bed23bd8 Bug 1432963 - Fixing workers headers - part 15 - static function in a workers namespace, r=smaug 2018-01-31 08:24:30 +01:00
Andrea Marchesini 2c7c69af24 Bug 1432963 - Fixing workers headers - part 14 - WorkerPrivate without workers namespace, r=smaug 2018-01-31 08:24:08 +01:00
Andrea Marchesini b0815a186e Bug 1425458 - Resource timing entries Workers - part 5 - dispatch resourcetimingbufferfull on workers, r=smaug 2018-01-24 17:17:32 +01:00