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

8437 Коммитов

Автор SHA1 Сообщение Дата
Greg Tatum 656917f124 Bug 1671701 - Add more comprehensive tests for FileIO markers; r=gerald,julienw
This re-works our tests to run all of the branches in the interposer. There is
a bit of a risk that this won't pass on all platforms as there is an allow list
of known operations. However, it's currently only limited to macOS and Linux.

Please note the placement of utility functions in shared-head.js if they were
generally useful beyond the xpcshell tests, and in xpcshell/head.js if the
functions were only useful for the specific FileIO tests.

Differential Revision: https://phabricator.services.mozilla.com/D93850
2020-10-27 14:04:15 +00:00
Greg Tatum cf34cd635a Bug 1671701 - Remove FileIOMarkerPayload; r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D93849
2020-10-27 14:04:12 +00:00
Greg Tatum 6451405048 Bug 1671701 - Migrated FileIO markers to the Markers 2.0 API; r=gerald,julienw
This commit uses the new Markers 2.0 API for FileIO Markers. I had to
create another option for the MarkerStack class in order to conditionally
capture a backtrace inside of the Macro. Otherwise the macro invocation
failed.

Differential Revision: https://phabricator.services.mozilla.com/D93848
2020-10-27 14:04:04 +00:00
Johann Hofmann 3d58a1fbfb Bug 941354 - Use innerMostURI on about:{neterror,certerror}. r=prathiksha,baku
This is to prevent issues with parsing the correct hostname for displaying and adding
exceptions for urls like view-source:.

Differential Revision: https://phabricator.services.mozilla.com/D94421
2020-10-27 10:55:51 +00:00
Gerald Squelart 204efca960 Bug 1672310 - Output marker backtraces from other threads - r=gregtatum
The new Markers 2.0 code had missed one detail:
Backtraces in markers were serialized as just the `ProfileChunkedBuffer`, which doesn't expose the original thread id like `ProfilerBacktrace` did.
Then when outputting the profile, the marker code would use the marker's thread id (where the marker should be displayed in the frontend, which *could* be different from where the backtrace came) to deserialize and stream the attached marker, and a special check in the streaming code meant that the mismatched id would ignore the stored sample, and the displayed marker would show no stack.

With this patch, when streaming stacks from markers, the given thread id is 0 (an impossible thread id), which indicates that whatever sample is present should be streamed.
`ProfilerBacktrace` doesn't need to store the thread id anymore.
This solves the above problem.

As a bonus, the streaming code now reports the original thread of the sample(s) it found. This could be used in the future, to better show in the frontend that some stacks may come from other threads.

Differential Revision: https://phabricator.services.mozilla.com/D94264
2020-10-27 03:16:12 +00:00
Butkovits Atila f31945adb0 Backed out 3 changesets (bug 1671701) for causing failure at browser_startup_mainthreadio.js. CLOSED TREE
Backed out changeset b4b6ec163792 (bug 1671701)
Backed out changeset a343865ccfe0 (bug 1671701)
Backed out changeset e6f882892fea (bug 1671701)
2020-10-27 02:40:13 +02:00
Greg Tatum 366bff7778 Bug 1671701 - Add more comprehensive tests for FileIO markers; r=gerald,julienw
This re-works our tests to run all of the branches in the interposer. There is
a bit of a risk that this won't pass on all platforms as there is an allow list
of known operations. However, it's currently only limited to macOS and Linux.

Please note the placement of utility functions in shared-head.js if they were
generally useful beyond the xpcshell tests, and in xpcshell/head.js if the
functions were only useful for the specific FileIO tests.

Differential Revision: https://phabricator.services.mozilla.com/D93850
2020-10-26 20:27:21 +00:00
Greg Tatum 954d07f101 Bug 1671701 - Remove FileIOMarkerPayload; r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D93849
2020-10-26 20:12:29 +00:00
Greg Tatum 4cc2187968 Bug 1671701 - Migrated FileIO markers to the Markers 2.0 API; r=gerald,julienw
This commit uses the new Markers 2.0 API for FileIO Markers. I had to
create another option for the MarkerStack class in order to conditionally
capture a backtrace inside of the Macro. Otherwise the macro invocation
failed.

Differential Revision: https://phabricator.services.mozilla.com/D93848
2020-10-26 20:12:22 +00:00
Butkovits Atila 9817823a41 Backed out changeset 2edd2bd119ff (bug 941354) for browser-chrome related failures. CLOSED TREE 2020-10-26 23:31:58 +02:00
Johann Hofmann a735fc4151 Bug 941354 - Use innerMostURI on about:{neterror,certerror}. r=prathiksha,baku
This is to prevent issues with parsing the correct hostname for displaying and adding
exceptions for urls like view-source:.

Differential Revision: https://phabricator.services.mozilla.com/D94421
2020-10-26 20:12:14 +00:00
Ricky Stewart 210585edd2 Bug 1672023 - Remove excluded files from `black.yml`
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
2020-10-26 18:21:44 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
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
2020-10-26 18:34:53 +00:00
Andrew Halberstadt 1761ded69a No Bug - Update tryselect docs around installing watchman, DONTBUILD, r=firefox-source-docs-reviewers,sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D94104
2020-10-20 21:55:19 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart fe80718d67 Bug 1672023 - Remove excluded files from `black.yml` r=sylvestre,perftest-reviewers,geckoview-reviewers,agi
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
2020-10-23 20:40:44 +00:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
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
2020-10-23 20:40:42 +00:00
Sean Feng 10786ede6c Bug 1518999 - Bump the browsertime hash to 8bf45e80ccc65237c622246b11c0739f0409e8e4 r=sparky,perftest-reviewers
Bump the browsertime hash to add a fix from upstream which fixes a
firstPaint related bug when FCP is supported.

Differential Revision: https://phabricator.services.mozilla.com/D90108
2020-10-23 19:46:56 +00:00
Myeongjun Go 27e4a2b691 Bug 1672207 - [perfdocs] Remove legacy code on build_test_description r=sparky,perftest-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D94127
2020-10-23 13:04:19 +00:00
Ben Hearsum 427616a2a1 Bug 1598823: remove visualmetrics mach command r=sparky,releng-reviewers,perftest-reviewers,aki DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D94160
2020-10-22 15:20:20 +00:00
Gerald Squelart 15d07d6c5b Bug 1672501 - Initialize scProfilerMainThreadId from profiler_init - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D94419
2020-10-22 12:55:13 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Dorel Luca 26941cf2f5 Backed out changeset 94ec15429e21 (bug 1672023) for Backout conflicts with Bug 1654103. CLOSED TREE 2020-10-22 03:43:01 +03:00
Ricky Stewart 8b352f1843 Bug 1672023 - Remove excluded files from `black.yml` r=sylvestre,perftest-reviewers,geckoview-reviewers,agi
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
2020-10-21 21:29:30 +00:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
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. 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
2020-10-21 21:27:27 +00:00
Andrew Halberstadt d793d59bb4 Bug 1662603 - [ci] Print dependents of a task that should not be scheduled, r=taskgraph-reviewers,jmaher
This makes it easier to diagnose why the integration test failed.

Differential Revision: https://phabricator.services.mozilla.com/D94328
2020-10-21 21:08:32 +00:00
Florian Quèze 6f8f8fdeae Bug 1672251 - Allow capturing profiles of tests that trigger private browsing, r=gerald.
This allows `./mach test <test path and name> --profiler` to work even for tests that use private browsing.

Differential Revision: https://phabricator.services.mozilla.com/D94152
2020-10-21 18:49:38 +00:00
Andrew Halberstadt 635fc5d710 Bug 1670240 - [tryselect] Use the 'TestManifestLoader' when resolving test paths r=jmaher
This walks the file system to read moz.build files, rather than following the DIRS
traversal. The latter is problematic because many moz.build files that happen to
define manifests could be excluded by the local build config.

Differential Revision: https://phabricator.services.mozilla.com/D94197
2020-10-21 10:54:10 +00:00
Mike Conley c22a8ed2b1 Bug 1661304 - Add an interface for front-end code to annotate background hang reports. r=dthayer,chutten,smaug
Depends on D92809

Differential Revision: https://phabricator.services.mozilla.com/D88309
2020-10-20 20:13:47 +00:00
Narcis Beleuzu 1e5c5c405a Backed out 7 changesets (bug 1661304) for xpcshell failures on test_UserInteraction_annotations.js. CLOSED TREE
Backed out changeset 10459893968e (bug 1661304)
Backed out changeset 234f7dd34c95 (bug 1661304)
Backed out changeset e1954838e36f (bug 1661304)
Backed out changeset 6f0f76bb873d (bug 1661304)
Backed out changeset 5186bba48ce7 (bug 1661304)
Backed out changeset 442ce3a64bab (bug 1661304)
Backed out changeset 88b46f9a789e (bug 1661304)
2020-10-19 21:39:07 +03:00
Mike Conley 69c8c5891d Bug 1661304 - Add an interface for front-end code to annotate background hang reports. r=dthayer,chutten,smaug
Differential Revision: https://phabricator.services.mozilla.com/D88309
2020-10-19 17:41:15 +00:00
Myeongjun Go 10359c348a Bug 1663708 - [perfdocs] Find tests to add to documentation using manifests instead of path searching r=sparky,perftest-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D91703
2020-10-19 15:17:04 +00:00
Gerald Squelart 334aa92a37 Bug 1670954 - profiler_main_thread_id() and profiler_is_main_thread() - r=gregtatum
These functions will be useful to get the main thread id, or check if we're in it, in some public code (e.g., markers).

Differential Revision: https://phabricator.services.mozilla.com/D93735
2020-10-16 22:06:53 +00:00
Valentin Gosu 1a306ee2c7 Bug 1671164 - Rename nsHostResolver::Blacklisted to Blocklisted r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D93491
2020-10-15 11:04:29 +00:00
Gerald Squelart ddcc13f424 Bug 1640999 - Output meta.markerSchema for all used marker types in the process - r=gregtatum
Using the stored marker functions, stream all marker schema to JSON.

Added tests for all common marker types.

Differential Revision: https://phabricator.services.mozilla.com/D90660
2020-10-14 02:12:29 +00:00
Gerald Squelart 2621d4cbf0 Bug 1640999 - Add `MarkerTypeDisplay` to all marker type definitions - r=gregtatum
Add `static mozilla::MarkerSchemaWriter MarkerTypeDisplay()` for each existing marker type.

Because all markers of a given type now must have the same payload and display schema, the DOM event marker has changed from type=tracing with category=DOMEvent, to its own type=DOMEvent, which is now accepted on the front-end.

Based on c9692715f2/src/profile-logic/marker-schema.js

Differential Revision: https://phabricator.services.mozilla.com/D90658
2020-10-14 02:11:25 +00:00
Kartikaya Gupta 41a7b15263 Bug 1669778 - Follow-up to fix silly typo. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D92992
2020-10-13 20:22:02 +00:00
Gerald Squelart e62f237161 Bug 1670547 - Made AutoArraySchemaWriter safer and more efficient - r=canaltinova
`AutoArraySchemaWriter::FreeFormElement()` is never used, we can remove it.

When constructed, `AutoArraySchemaWriter` was optionally taking a `UniqueStrings` reference, which was stored as a pointer.
Then `AutoArraySchemaWriter::StringElement()` would do a dangerous `MOZ_RELEASE_ASSERT(mStrings);`.

The class is now split in two:
- `AutoArraySchemaWriter`, which does not deal with strings at all, so we don't need a pointer to `UniqueStrings`.
- `AutoArraySchemaWithStringsWriter` that can also deal with strings, in which we store a (non-null) `UniqueStrings` reference.

This is both:
- Safer, because it's not possible to instantiate the non-string writer and try to write a string.
- More efficient, because we don't need to pass&store a `UniqueStrings` reference/pointer when we don't deal with strings.

Differential Revision: https://phabricator.services.mozilla.com/D93191
2020-10-12 23:26:10 +00:00
Andrew Halberstadt 1267e17146 Bug 1519990 - [tryselect] Don't perform expensive computation on import from 'coverage' selector, r=marco
This was causing us to generate the build backend on 'tab' completion (since we
were importing the file to parse available options out of the ArgumentParser
defined therein).

Differential Revision: https://phabricator.services.mozilla.com/D92010
2020-10-08 04:26:07 +00:00
Gerald Squelart db3689ee3d Bug 1670046 - If NoPayload marker has a stack and/or inner window id, convert to NoPayloadUserData - r=gregtatum
It is possible to add options to a NoPayload marker, but stack and inner window ids would be lost because they are normally stored in the payload 'data' JSON object, which doesn't exist for NoPayload markers.
So in this case, we automatically change the marker to a new (internal) "NoPayloadUserData" type, which has a payload in which we can store options.

This is temporary, until bug 1646714 moves these options into the top-level marker JSON object.

Differential Revision: https://phabricator.services.mozilla.com/D93059
2020-10-09 13:00:48 +00:00
Sylvestre Ledru cad53f4804 Bug 1588458 - Replace dxr links by searchfox in the code/test r=kats,sparky
Differential Revision: https://phabricator.services.mozilla.com/D92792
2020-10-08 14:02:40 +00:00
Sylvestre Ledru 1edb1e71c0 Bug 1588458 - Replace dxr links by searchfox in the md doc r=firefox-source-docs-reviewers,championshuttler DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D92790
2020-10-08 08:11:59 +00:00
Sylvestre Ledru 9bce072e44 Bug 1588458 - Replace dxr by searchfox in the rst doc r=ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D49140
2020-10-08 08:13:15 +00:00
Mike Hommey a12805866c Bug 1669633 - Remove the JS_STANDALONE option. r=firefox-build-system-reviewers,rstewart
It was only meant to be used internally, when the top-level python
configure invoked the js python subconfigure. Now that this doesn't
happen, we can remove the option, and consolidate js_standalone and
building_js, which are now roughly synonyms.

Differential Revision: https://phabricator.services.mozilla.com/D92726
2020-10-07 17:48:06 +00:00
Kartikaya Gupta f246440880 Bug 1669778 - Add a couple more presets for minimal tier-1 builds. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D92786
2020-10-07 17:30:06 +00:00
Kartikaya Gupta edb02da630 Bug 1669547 - Use the currently-running python executable for the preview command. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D92656
2020-10-07 17:28:35 +00:00
Sylvestre Ledru 5c7636b11a no bug - Fix more docs warnings (404) r=firefox-source-docs-reviewers,championshuttler DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D92765
2020-10-07 15:30:36 +00:00
Greg Tatum eb498b98eb Bug 1665810 - Add an end-to-end mochitest for DOMEvent markers r=gerald
I created a new test file for testing markers in the parent process. It
can be re-used to test a variety of different markers and their payloads
to ensure they are properly being created, and with relevant information.
The idea here is that this tests the entire pipeline, and excercises the
code as an end user of the profiler would.

Differential Revision: https://phabricator.services.mozilla.com/D92457
2020-10-06 13:57:50 +00:00
Greg Tatum c8755d4217 Bug 1669266 - Upgrade the DOMEvent marker to not be of type "tracing" r=gerald
This is part of the Markers 2.0 work. This payload proved to be a bit ambiguous
when moving to the new marker schema, so it requires an upgrader.

The test is included as the following commit.

Differential Revision: https://phabricator.services.mozilla.com/D92456
2020-10-06 13:57:46 +00:00
Gijs Kruitbosch 1aa2c4d5db Bug 1668274 - update eslint, eslint-plugin-no-unsanitized and mocha to allow use of logical assignment operators, r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D91933
2020-10-02 18:00:40 +00:00