Commit Graph

8683 Commits

Author SHA1 Message Date
smolnar
6652db1a08 Backed out 6 changesets (bug 1678619) on suspicion of causing crashes (bug 1687914). a=backout DONTBUILD
Backed out changeset c8b691b8e793 (bug 1678619)
Backed out changeset 37b2f438bd2b (bug 1678619)
Backed out changeset 0a92dfd99dac (bug 1678619)
Backed out changeset 2043a28e668e (bug 1678619)
Backed out changeset 53e385030d67 (bug 1678619)
Backed out changeset 9a1d599b4060 (bug 1678619)
2021-01-21 17:25:23 +02:00
Gregory Mierzwinski
40f4b63085 Bug 1686327 - Rewrite raptor gecko-profiling code. r=julienw
This patch rewrites some parts of the GeckoProfiler code to make it clearer and easier to maintain. It also changes how the profiles get organized into separate folders for each type. Furthermore, the archives no longer have the full directory path in them. To do this, we also have to update browsertime.

Differential Revision: https://phabricator.services.mozilla.com/D102043
2021-01-20 15:40:35 +00:00
Yura Zenevich
09a23bc0e6 Bug 1667998 - add AccessibilityUtils for testing accessibility related issues and use it to check accessibility when EventUtils.sendMouseEvent is used to make a click. r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D100839
2021-01-15 18:20:37 +00:00
Daisuke Akatsuka
b4770ef752 Bug 1678619: Implement a mechanism to fire pages-rank-changed event. r=mak
Depends on D100458

Differential Revision: https://phabricator.services.mozilla.com/D100459
2021-01-15 11:00:32 +00:00
Tyson Smith
fb3bd328a3 No bug - Update fuzz blocker docs. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D102242
2021-01-20 03:42:43 +00:00
Gerald Squelart
87910429ba Bug 1685938 - Keep CPU measurements and their timestamp within 8*median duration - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D101546
2021-01-19 02:55:35 +00:00
Gerald Squelart
73c0a73dad Bug 1685938 - Add RunningTimes::mPostMeasurementTimeStamp and use as sample timestamp - r=canaltinova
mPostMeasurementTimeStamp records the time right after CPU measurements (point-based or interval) ended.
It is then used as the main sample timestamp, to both avoid another TimeStamp::Now() call, and to keep measurements and timestamp as close together as possible (and even closer in the next patch).

Differential Revision: https://phabricator.services.mozilla.com/D101545
2021-01-19 02:54:43 +00:00
Gerald Squelart
0688b80ad5 Bug 1685938 - Precompute sample timestamps as milliseconds in sampler loop - r=canaltinova
This handles the conversion (from TimeStamp to number of milliseconds since process start) once and gives it to subroutines.
It will also help in a following patch where this value will be more closely tied with the CPU usage value, so we need to make sure the sample timestamp is taken at a single point and then forwarded wherever it's needed, be it a duplicate or a real sample.

While here, the nested `delta` variables in the Sampler have been disambiguated for better clarity:
- `sampleStartDeltaMs` is at the start of each sampling loop,
- `threadSampleDeltaMs` is associated to one thread being sampled during that loop.

Differential Revision: https://phabricator.services.mozilla.com/D101544
2021-01-19 02:54:15 +00:00
Gerald Squelart
30c1777768 Bug 1685938 - Remove unused parameters in DoPeriodicSample - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D101543
2021-01-19 02:53:42 +00:00
Mike Hommey
e4bf32e4f8 Bug 1686888 - Stop building dump_syms. r=gsvelto
Now that we use an external dump_syms, we don't need to build
breakpad's.

This means we also don't need the dump_syms_rust_demangle crate anymore.

Differential Revision: https://phabricator.services.mozilla.com/D101865
2021-01-15 10:31:48 +00:00
Noemi Erli
8ad2a18a79 Backed out 5 changesets (bug 1667998) for breaking a11y checks CLOSED TREE
Backed out changeset 633dda979b22 (bug 1667998)
Backed out changeset c9838cdb1303 (bug 1667998)
Backed out changeset 501c54cf59be (bug 1667998)
Backed out changeset 615b74c822ec (bug 1667998)
Backed out changeset 6d187c01fcb3 (bug 1667998)
2021-01-15 20:16:06 +02:00
Yura Zenevich
ef01f4bcb9 Bug 1667998 - add AccessibilityUtils for testing accessibility related issues and use it to check accessibility when EventUtils.sendMouseEvent is used to make a click. r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D100839
2021-01-15 16:52:44 +00:00
Myeongjun Go
b30d64aa2e Bug 1674793 - [perfdocs] Expand the unit tests for perfdocs. r=sparky
Differential Revision: https://phabricator.services.mozilla.com/D99608
2021-01-15 14:47:36 +00:00
Butkovits Atila
db44a41c6c Backed out 5 changesets (bug 1678619) for causing memory leaks. CLOSED TREE
Backed out changeset 64be4bea09dd (bug 1678619)
Backed out changeset 308fda30c166 (bug 1678619)
Backed out changeset efb9bdef89b8 (bug 1678619)
Backed out changeset d26f45eac0b9 (bug 1678619)
Backed out changeset b2f22d6d2725 (bug 1678619)
2021-01-15 12:56:01 +02:00
Daisuke Akatsuka
e97c2c8e87 Bug 1678619: Implement a mechanism to fire pages-rank-changed event. r=mak
Depends on D100458

Differential Revision: https://phabricator.services.mozilla.com/D100459
2021-01-14 23:33:38 +00:00
Chris H-C
fa00168092 Bug 1686726 - Update TSan docs to be slightly more precise r=Gankra
Differential Revision: https://phabricator.services.mozilla.com/D101817
2021-01-14 23:44:19 +00:00
Aaron Klotz
b55bf5ac03 Bug 1611554: Part 3 - Use jinja templates to generate GeckoChildProcessServices.java and AndroidManifest_overlay.xml; r=geckoview-reviewers,agi
This patch converts `GeckoChildProcessServices.java` into a jinja template.
We also add an overlay generated from a jinja template for `AndroidManifest.xml`
that provides the definitions for content process services.

Note that even though Gradle supports simple substitution of variables in
manifests, I opted not to use that functionality. Since we need the more
powerful template functionality that jinja provides, I felt that having multiple
ways to substitute information into the manifest would be confusing, so we're
using jinja exclusively.

Differential Revision: https://phabricator.services.mozilla.com/D82578
2021-01-13 01:19:15 +00:00
Butkovits Atila
bcdf48f6d6 Backed out 3 changesets (bug 1611554) for causing bustage on recurse.mk. CLOSED TREE
Backed out changeset bb1ce63d73ec (bug 1611554)
Backed out changeset 0d4317da1006 (bug 1611554)
Backed out changeset dc905e5db0cc (bug 1611554)
2021-01-13 03:16:17 +02:00
Aaron Klotz
898fb17519 Bug 1611554: Part 3 - Use jinja templates to generate GeckoChildProcessServices.java and AndroidManifest_overlay.xml; r=geckoview-reviewers,agi
This patch converts `GeckoChildProcessServices.java` into a jinja template.
We also add an overlay generated from a jinja template for `AndroidManifest.xml`
that provides the definitions for content process services.

Note that even though Gradle supports simple substitution of variables in
manifests, I opted not to use that functionality. Since we need the more
powerful template functionality that jinja provides, I felt that having multiple
ways to substitute information into the manifest would be confusing, so we're
using jinja exclusively.

Differential Revision: https://phabricator.services.mozilla.com/D82578
2021-01-13 00:38:25 +00:00
Mitchell Hentges
f4a03e538f Bug 1680802: Install pylint requirements with legacy resolver r=firefox-build-system-reviewers,sheehan,glandium
pylint_requirements.txt fail to install with the new pip resolver due
to a conflict between astroid and lazy-object-proxy.
Rather than bumping those packages and handling the potential fallout,
the package-upgrade has been deferred and we will use the legacy
resolver in the interrim.

Differential Revision: https://phabricator.services.mozilla.com/D99940
2021-01-05 20:14:25 +00:00
Gregory Mierzwinski
ddfec86473 Bug 1680998 - Update browsertime to v11. r=perftest-reviewers,davehunt
This patch updates browsertime to v11 which has a fix for the visual metrics failures that we've been seeing recently.

Differential Revision: https://phabricator.services.mozilla.com/D101193
2021-01-08 17:03:30 +00:00
Tyson Smith
77dd494f63 No bug - Update fuzz blocker Bugzilla link. r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D101095
2021-01-08 08:23:02 +00:00
David Major
180d35da9f Bug 1685335 - Update to clang 11.0.1 r=firefox-build-system-reviewers,static-analysis-reviewers,andi,mhentges,sylvestre
In addition to the usual dot-release type of fixes, this also lets us drop a good amount of code that we had patched into our clang 11.

Differential Revision: https://phabricator.services.mozilla.com/D100959
2021-01-07 13:53:53 +00:00
Kartik Gautam
8828f6896c Bug 1682817 - Make whitespace/newline linter also fail for absent newline character at the end of files and also implement fix for it r=sylvestre
Depends on D100484

Differential Revision: https://phabricator.services.mozilla.com/D100443
2021-01-07 08:53:16 +00:00
Kartik Gautam
7ae6aea145 Bug 1684173 - Add newline character at end of files when missing r=sylvestre,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D100484
2021-01-07 08:53:08 +00:00
Mark Banner
d866ed81a6 Bug 1685053 - Fix ESLint's setup_helper.py to continue working when a dependency section is missing in package.json. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D100765
2021-01-06 14:14:30 +00:00
Renovate Bot
c2ff53383e Bug 1685147 - Update dependency sphinx-rtd-theme to v0.5.1 r=firefox-source-docs-reviewers,championshuttler DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D100812
2021-01-05 22:10:19 +00:00
Kartikaya Gupta
8e2db561f5 Bug 1685198 - Fix failure on first sync for new repo. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D100843
2021-01-06 01:31:35 +00:00
Sylvestre Ledru
0ac5b07241 Bug 1684863 - Update to Sphinx 3.4.2 r=firefox-source-docs-reviewers,championshuttler DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D100672
2021-01-04 14:16:28 +00:00
Mark Banner
14da69d10f Bug 1684905 - Fully enable globalThis for ESLint. r=Gijs,necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D100697
2021-01-04 20:32:57 +00:00
Gerald Squelart
a82ad0bb16 Bug 1329600 - Capture CPU usage on Linux - r=canaltinova,gcp
Differential Revision: https://phabricator.services.mozilla.com/D99416
2021-01-04 11:37:46 +00:00
Gerald Squelart
8ae4195eeb Bug 1329600 - Capture CPU usage on macos - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D99415
2021-01-04 07:22:59 +00:00
Gerald Squelart
6b6370fc4a Bug 1329600 - Capture CPU usage on Windows - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D99414
2021-01-04 07:19:18 +00:00
Gerald Squelart
ecaf794c38 Bug 1329600 - Scaffolding to output CPU measurements in samples - r=canaltinova
The `RunningTimes` class stores CPU measurements. It may seem overkill for only one value, but in the future more measurements will be added.

During sampling, CPU measurements are collected by platform-specific code. This patch doesn't produce anything yet, see later patches.
These are stored with the samples.
Note that for duplicated samples (when a thread is known to be "asleep"), we still need to collect new measurements, because there could potentially be some activity happening, e.g. in system calls.
Finally the measurements are output as extra "samples" values.

Units for these values may platform-specific, so they are stored in the top-level JSON "meta" object.

We don't collect running times in the Base Profiler (yet), but we still need to add the appropriate field names in the samples' "schema", as expected by profiler.firefox.com.

Differential Revision: https://phabricator.services.mozilla.com/D99413
2021-01-04 07:19:16 +00:00
Gerald Squelart
484485975e Bug 1679930 - Add ActivePS experimental feature "CPU Utilization" - r=canaltinova
This patch adds "CPU Utilization" ("cpu" for short) as a new feature that will control the upcoming still-experimental CPU measurements.

Differential Revision: https://phabricator.services.mozilla.com/D99054
2021-01-04 07:17:38 +00:00
Gerald Squelart
581ab50327 Bug 1679930 - When the sampler thread function starts, it can store all ActivePS features - r=canaltinova
Instead of only capturing one feature (NoStackSampling), the sampler thread now stores all features so that any feature can be quickly looked at during sampling.

Currently this is still limited to NoStackSampling, a later patch will start using another feature.

Differential Revision: https://phabricator.services.mozilla.com/D99053
2021-01-04 07:16:59 +00:00
Cosmin Sabou
8a46d2e9d6 Backed out 3 changesets (bug 1680802, bug 1680630) for turning Bug 1521378 into permafail. CLOSED TREE
Backed out changeset 3464c8f10994 (bug 1680630)
Backed out changeset 591d32364c0f (bug 1680802)
Backed out changeset 3e9350fd509d (bug 1680802)
2021-01-04 18:47:44 +02:00
Mitchell Hentges
cdf668d1ae Bug 1680802: Install pylint requirements with legacy resolver r=firefox-build-system-reviewers,sheehan,glandium
pylint_requirements.txt fail to install with the new pip resolver due
to a conflict between astroid and lazy-object-proxy.
Rather than bumping those packages and handling the potential fallout,
the package-upgrade has been deferred and we will use the legacy
resolver in the interrim.

Differential Revision: https://phabricator.services.mozilla.com/D99940
2021-01-04 15:20:21 +00:00
Cosmin Sabou
2978aa00a3 Backed out changeset dbed1cdf588f (bug 1684173) for mochitest plain and devtools failures. a=backout DONTBUILD 2020-12-28 00:43:51 +02:00
Kartik Gautam
775cdec032 Bug 1684173 - Add newline character at end of files when missing r=sylvestre
Depends on D100443

Differential Revision: https://phabricator.services.mozilla.com/D100484
2020-12-27 11:43:41 +00:00
Razvan Maries
5ddff60025 Backed out 2 changesets (bug 1681985) for perma failures on test_basic.js and test_getInfo.js. CLOSED TREE
Backed out changeset 1ba9b39ff543 (bug 1681985)
Backed out changeset b515a3ab8bac (bug 1681985)
2020-12-23 20:04:55 +02:00
Erik Rose
47dfb80606 Bug 1681985 - Extract LabelUtils to FormAutofillUtils.jsm. r=zbraniecki
We need it from both FormAutofillHeuristics and CreditCardRuleset, and it would make a circular import otherwise: FormAutofillHeuristics -> CreditCardRuleset -> FormAutofillHeuristics.

Differential Revision: https://phabricator.services.mozilla.com/D100140
2020-12-21 21:08:25 +00:00
Daisuke Akatsuka
ac34979ed4 Bug 1678606: Imlement a mechanism to fire history-cleared event. r=mak
Depends on D99424

Differential Revision: https://phabricator.services.mozilla.com/D99750
2020-12-23 08:15:50 +00:00
Gerald Squelart
f1f98f5879 Bug 1678651 - Centralize scExpectedMaximumStackSize in ProfileBufferChunkManager - r=canaltinova
The "expected maximum stack size" (currently 64KiB) value was present in multiple places.
Now it's accessible from everywhere as ProfileBufferChunkManager::scExpectedMaximumStackSize, so it's easier to modify as needed.

Differential Revision: https://phabricator.services.mozilla.com/D100222
2020-12-22 10:50:54 +00:00
Gerald Squelart
5e0acb08c3 Bug 1678651 - Fixed sampler's detection of too-big stacks - r=canaltinova
The profiler sampler was using the "cleared block count" as indication that some data could not be stored.
But this was incorrect, because cleared blocks only account for blocks in chunks that have been destroyed or recycled, but this missed data that could not be stored due to lack of space.
In particular, `ProfileBufferChunkManagerSingle` only provides one chunk, so when it gets full, a new chunk cannot be allocated, and the data is lost; but the "cleared block count" is left unchanged (the one chunk is only released, but not destroyed nor recycled).

Now the sampler correctly looks at the "failed puts bytes", and can report precisely how many bytes could not be stored.

Differential Revision: https://phabricator.services.mozilla.com/D99978
2020-12-22 10:49:30 +00:00
Renovate Bot
07ec351c5b Bug 1683628 - Update dependency Sphinx to v3.4.0 r=firefox-source-docs-reviewers,championshuttler DONTBUILD
Found by renovate bot: https://github.com/sylvestre/gecko-dev/pull/128/files

Differential Revision: https://phabricator.services.mozilla.com/D100228
2020-12-21 12:17:03 +00:00
Sylvestre Ledru
00977921cb Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio DONTBUILD
Updated with rustfmt 1.4.24-stable (eb894d5 2020-11-05)

# ignore-this-changeset

Depends on D100230

Differential Revision: https://phabricator.services.mozilla.com/D100231
2020-12-21 12:15:49 +00:00
Renovate Bot
88ba586595 Bug 1683628 - Update dependency recommonmark to v0.7.1 r=firefox-source-docs-reviewers,championshuttler DONTBUILD
reported https://github.com/sylvestre/gecko-dev/pull/346/files

Differential Revision: https://phabricator.services.mozilla.com/D100229
2020-12-21 12:14:19 +00:00
Gerald Squelart
c50f75d970 Bug 1683314 - Convert unknown-marker failure into benign message - r=canaltinova
This gtest failure was useful during early development of markers 2.0 schema, to catch all known (at the time) marker types, so they could be tested.

But now that most marker types live locally where they're used, they cannot easily be unit-tested here, so it's easy to miss some of those types. And more of them will be added in the future, potentially causing more failures here.
At the same time, these Profiler tests run along with lots of other tests, which may "naturally" produce some of those marker types, in which case the corresponding schema will be present in output profiles when running Profiler tests.

So we shouldn't make our tests fail anymore when encountering unknown marker types. They may still be verified in other tests related to the code they live in (e.g., an XPCShell test could exercise some Firefox functionality that generates markers when profiling.)
There is still a benign `printf` message, which may be useful during development, but shouldn't appear as a failure (to be fixed) in CI.

Differential Revision: https://phabricator.services.mozilla.com/D100221
2020-12-21 11:51:52 +00:00
Daisuke Akatsuka
636b8c9e9a Bug 1678611: Implement a mechanism to fire page-title-changed event. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D98278
2020-12-18 10:47:34 +00:00