This just makes it easier to instrument a talos test to request a WR capture
for those occasions when one is desired for debugging. This can be done by
modifying the test's html to pull in TalosPowersContent.js and then calling
the TalosPowersContent.wrCapture() method.
Differential Revision: https://phabricator.services.mozilla.com/D84422
I think I broken this in bug 1558598 by changing when the MOZ_WEBRENDER
env var is set. It is no longer set for the python process, but set *by* the
python process for Firefox. So we need to update the corresponding check
when we determine which FF threads need profiling.
Depends on D84011
Differential Revision: https://phabricator.services.mozilla.com/D84103
We used to clear a timeout in HTMLTooltip which is supposed to resolve a Promise
when it's executed, meaning that we could end up with Promises that would never
resolve.
In the test itself, we wait for a tick between each loop iteration and after hiding
the popup to make sure everything has the time to be painted.
Differential Revision: https://phabricator.services.mozilla.com/D83912
The profiler can be "paused", which stops sampling, and since bug 1578329 stops markers as well.
Some test suites use pausing between tests (to better differentiate the tests, to keep the profiler ready to run, and to lower the amount of recorded data). But this causes problems with some tracing markers, as their matching ends have not been recorded (e.g., an end marker is missing), which show up as very loooong markers.
To solve this, we need to be able to pause sampling only, but keep recording markers.
But we still need to be able to pause the whole profiler, in particular before capturing, to avoid recording anything around that time.
This big patch is mostly mechanical changes: Wherever there are "Pause" and "Unpause/Resume" profiler functions, we add matching "PauseSampling" and "UnpauseSampling/ResumeSampling" functions that only impact the periodic sampling loop; And existing "Pause/Unpause/Resume" imply pausing sampling as well.
Exceptions and extra work:
- nsIProfiler (the JS API) already had `Pause/ResumeSampling()`, which misleadingly paused everything! Now they do the right thing, and we have `Pause/Resume()` as well.
- All tests using `Pause/ResumeSampling()` now use `Pause/Resume()`, except for Talos tests that only pause sampling between tests; Added some extra `Pause()` calls to pause everything before capturing profiles.
- GeckoJavaSampler doesn't handle pausing/resuming everything, this should be done in a follow-up bug.
- Sampling-only pauses are not streamed into JSON. If needed, we should follow-up, with potential work on the front-end to deal with these.
Differential Revision: https://phabricator.services.mozilla.com/D81492
This is a brand new (and first) DAMP talos test for accessibility panel. "accessibility.cold-open" is similar to other cold open tests such as inspector one. It opens accessibility panel, waits for its UI to render and then closes the toolbox.
Differential Revision: https://phabricator.services.mozilla.com/D80512
Talos tests suffer the most from intermittents that seem due to the Base Profiler.
So until symptoms are reduced (bug 1648324) or the root cause is fixed (bug 1648325), Talos tests will run without the Base Profiler.
Differential Revision: https://phabricator.services.mozilla.com/D81019
The complicated test loads a lot of iframes. Now that with my changes we
coalesce stylesheet loads across documents it's expected to have way
less network loads for this test, which has a lot of facebook iframes
that load multiple stylesheets each.
The value is the one that made it reliably pass on my machine.
Differential Revision: https://phabricator.services.mozilla.com/D79394
DAMP refreshes the page that it loads, and it bypasses the caches, but
we still coalesce in-progress loads, so it's expected to see less of
this.
This actually caught another issue, that I'm fixing in bug 1645180.
Differential Revision: https://phabricator.services.mozilla.com/D79352
DAMP refreshes the page that it loads, but doesn't clear the stylesheet
cache, so the second+ time around some of the zoom messages will not be
sent.
This is actually a wider issue, that I plan to fix in bug 1645180.
Meanwhile don't wait for these messages.
Differential Revision: https://phabricator.services.mozilla.com/D79352
`attr-selector-1.html` currently takes 89 seconds on my machine. That's quite an outlier when its sibling tests are in the few-tenths to few-seconds range.
Because these tests are run for PGO, I'm concerned about a risk of overtraining. The #1 function in our profile, related to the attrs test, has 1200M counts, while more typical values for our hottest functions are in the 200M range. This might make functions lower on the list seem colder than they really are.
Differential Revision: https://phabricator.services.mozilla.com/D77899