This changes the default so that extra GC poisoning is off in nightly opt builds unless enabled by an environment variable. This should give us more useful telemetry on nightly performance and make it easier for people trying to benchmark our browser. The poisoning is still enabled in debug builds.
The variable is renamed from JSGC_DISABLE_POISONING to JSGC_EXTRA_POISONING.
Differential Revision: https://phabricator.services.mozilla.com/D108419
It appears we were missing some pagerendered events because we weren't
attaching the listener until after a setTimeout in contentLoadHandlerCallback.
Further, the test wasn't really waiting until idle to load the next round, so we
can remove that part for now. This may be something we want to fix in the
future though.
Differential Revision: https://phabricator.services.mozilla.com/D106849
This patch decreases the test timeout for some Talos tests which are hitting task timeouts. It also increases the task timeout for one of the tests.
Differential Revision: https://phabricator.services.mozilla.com/D106638
Now that we delay the load event for pdf.js, the pagerendered event listener
was being added too late and we were catching the second page rendered event.
Also, add a check to ensure the page rendered is the first page.
Differential Revision: https://phabricator.services.mozilla.com/D104866
The baseURI is a moz-extension: URI, which does not support being loaded
synchronously from a content process, as framescripts are.
This patch does not attempt to prohibit future synchronous uses of
moz-extension: URIs, as that is outside of the scope of this issue, but we
should likely do so in a follow-up.
Differential Revision: https://phabricator.services.mozilla.com/D104081
This patch is to add more profile markers to Talos tests, and improve existing ones, by grouping all Talos markers together under "Talos", using more descriptive labels, and employing interval markers where applicable.
Differential Revision: https://phabricator.services.mozilla.com/D98774
Using performance.now will generate incorrect markers because the timestamps are not in sync with the ones used internally by the ChromeUtils.addProfilerMarker API.
Differential Revision: https://phabricator.services.mozilla.com/D102704
Currently most talos tests to not use multiple domains when testing across
many different recorded web pages. We have talos set up to be able to serve
these to ourself under different domains though - this patch simply sets us
up to do so with the tp5n and tp5o tests. This should just give us a little
bit more coverage of changes which may introduce overhead on a per-domain
basis, such as Fission or Network Partitioning.
Differential Revision: https://phabricator.services.mozilla.com/D101379
The skipped tests were timing out on page load, and are not trying to set breakpoints.
The fix landed in Bug 1682780 should be enough to fix them on fission platforms.
Differential Revision: https://phabricator.services.mozilla.com/D101140
Depends on D97733
Exporting the current DAMP runner as a singleton from damp.js simplifies the dependency management between damp.js and head.js
Differential Revision: https://phabricator.services.mozilla.com/D100670
Depends on D97733
Exporting the current DAMP runner as a singleton from damp.js simplifies the dependency management between damp.js and head.js
Differential Revision: https://phabricator.services.mozilla.com/D100670
Depends on D97727
Similar to what was done for the devtools/ folder, we should use absolute paths in all our require calls.
Differential Revision: https://phabricator.services.mozilla.com/D97729
We now print a thousand object in a console.log message
before doing the console.dir call and measure how long it takes.
Having multiple ObjectInspector instances can have dramatic
impact on the expand performance of a single instance (See Bug 1599317).
Differential Revision: https://phabricator.services.mozilla.com/D99203
The root cause of the intermittens on startup_about_home_paint_realworld_webextensions is
the same as bug 1220362. Fixing that should fix this one too. In the mean time, we'll
disable the configuration for this test.
Differential Revision: https://phabricator.services.mozilla.com/D99960
In bug 1633635, tabs were altered so that they don't animate during the first
few event loop ticks of a new window. This made it so that TART would sometimes
race the function that resumed tab animations. When TART won the race, it would
open a tab that would open without animation, and then timeout waiting for that
animation to complete.
This patch makes it so that TART waits until the first window has completed its
idle tasks, meaning that tab animations should be enabled for the window.
Differential Revision: https://phabricator.services.mozilla.com/D98399
Leverage the "disabled" property available on the DAMP test index to conditionally skip inspector/complicated on fission platforms.
Differential Revision: https://phabricator.services.mozilla.com/D97219
This patch takes care of a case where a talos result line is written on two lines rather than one. The reason for why it's being written on two lines needs to be investigated in the future. There doesn't seem to be any hidden characters in the lines so it's likely related to `dump` or the `MozillaFileLogger`.
Differential Revision: https://phabricator.services.mozilla.com/D96120
This patch adds the basic docs for Talos using the PerfDocs system. It
includes a high-level overview of what Talos is, and how to interact with
it.
Differential Revision: https://phabricator.services.mozilla.com/D95604
These files were omitted from the original patch because reformatting them required some manual intervention in order to avoid breaking unit tests. Generally the `noqa` lines were already there and just needed to be moved from one line to another (due to the reformatting by `black`), but sometimes `black` saw fit to move a bunch of stuff all onto one line, requiring me to introduce new `noqa` lines.
Besides the autoformat by `black` and some manual fixups, this patch contains no other changes.
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94052
Depends on D94045
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045