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

9437 Коммитов

Автор SHA1 Сообщение Дата
Christian Holler 6110156f18 Bug 1738278 - Add fuzzing snapshot API. r=truber,firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D129823
2021-11-25 11:20:43 +00:00
Mitchell Hentges abeedf3bbd Bug 1717051: Automatically create and activate Mach virtualenv r=ahal
Consolidate Mach virtualenv management to the front of the
Mach process. This obsoletes `./mach create-mach-environment`
and simplifies the `sh` portion of the top-level `./mach` script.

This helps ensure that the Mach virtualenv doesn't become
out-of-sync and simplifies the mental model of the Mach
virtualenv situation.

Differential Revision: https://phabricator.services.mozilla.com/D120401
2021-11-24 20:06:33 +00:00
Mitchell Hentges 2f04d64a12 Bug 1717051: Remove "install-moz-phab" from nativecmds r=ahal
It was in `nativecmds` to make finding `pip3` easier.
However, since we're removing the distinction between "regular" and
"native" cmds (Mach will create and activate its venv naturally during
initialization), we need to start pruning the `nativecmds` list.
Fortunately, we can use the stored "external_python" value to decide
where to install "moz-phab" to.

The new behaviour continues to support the following use cases:
* Using Mach with system Python in the `$PATH`.
* Using Mach from within a human-managed virtualenv.
* Either of the above^ in combination with `MACH_USE_SYSTEM_PYTHON`.

Differential Revision: https://phabricator.services.mozilla.com/D120397
2021-11-24 20:06:33 +00:00
Nika Layzell acedd82927 Bug 1734739 - Part 3: Stop providing pids in places where it's not needed/used, r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D128220
2021-11-24 17:56:01 +00:00
Nika Layzell 26555d958a Bug 1734739 - Part 1: Stop requiring otherpid for ShareTo, r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D128218
2021-11-24 17:56:00 +00:00
afinder bb49296ca2 Bug 1735324 [perfdocs] Enumerate AWSY tests using PerfDocs r=perftest-reviewers,sparky,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D128198
2021-11-24 14:57:28 +00:00
Sylvestre Ledru d6ba1a7419 Bug 1707591 - ride along: update of the flake8 dep to match black's r=linter-reviewers,ahal
Depends on D131717

Differential Revision: https://phabricator.services.mozilla.com/D131718
2021-11-22 22:10:04 +00:00
Sylvestre Ledru c9ed427926 Bug 1707591 - ride along: update of the pylint dep to match black's r=linter-reviewers,ahal
Depends on D130965

Differential Revision: https://phabricator.services.mozilla.com/D131717
2021-11-22 22:10:03 +00:00
Sylvestre Ledru 0bd2d56002 Bug 1707591 - Update to black 21.11b1 r=gerard-majax
Depends on D131716

Differential Revision: https://phabricator.services.mozilla.com/D130964
2021-11-22 22:10:03 +00:00
Sylvestre Ledru 0369d71fc0 Bug 1707591 - Parse the new output of black --version r=linter-reviewers,ahal
Depends on D126202

Differential Revision: https://phabricator.services.mozilla.com/D131716
2021-11-22 22:10:02 +00:00
Renovate Bot d7e0dac10a Bug 1731749 - Update dependency pylint to v2.11.1 r=linter-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D126202
2021-11-22 22:10:02 +00:00
Alexis Beingessner 285ecd4b8f Bug 1741205 - remove tools/crashreporter/minidump_stackwalk r=gsvelto
This version of minidump-stackwalk is now replaced with rust-minidump's
minidump-stackwalk, which we build from a FETCH. Not touching the other
stuff in this directory because I have no idea what it is.

Differential Revision: https://phabricator.services.mozilla.com/D131316
2021-11-22 20:33:34 +00:00
Sylvestre Ledru 1e47dd5d4f Bug 1738988 - Add support for trojan source detection in mozlint r=linter-reviewers,ahal DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D131086
2021-11-19 08:37:28 +00:00
Miko Mynttinen 5775d7535a Bug 1741654 - Bump try chooser dependencies r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D131389
2021-11-17 17:22:07 +00:00
Gregory Mierzwinski ca271d11d6 Bug 1732956 - Add facebook/reddit responsiveness tests. r=perftest-reviewers,kimberlythegeek
This patch adds 4 new interactive tests for facebook and reddit. The patch updates the recordings as well as needed. Furthermore, an update to the visualmetrics.py script is needed to handle a permafailure in the reddit-post tests. Note that the reddit-post test was split in 2 since they are quite large.

Differential Revision: https://phabricator.services.mozilla.com/D130665
2021-11-17 15:12:34 +00:00
Gerald Squelart 3330214613 Bug 1740247 - Add labels in gtest so that stacks are not empty even when native stack-walking is not available - r=canaltinova
On some platforms (e.g., Mac beta or release), native stack-walking is currently unavailable. In this case, simple tests with with no labels (or other non-native frames) would be totally empty, and would fail when expecting any data in the "samples" sections of profiles.
This is fixed by adding one label, which guarantees that stacks won't be empty.

Differential Revision: https://phabricator.services.mozilla.com/D131100
2021-11-16 21:23:29 +00:00
Mitchell Hentges b7b1442242 Bug 1730712: Remove external use of `_run_pip()` r=perftest-reviewers,ahal,sparky
As `_run_pip()` is being removed from `VirtualenvManager` in an upcoming
patch, its usages need to be removed. Besides, they're using an
"internal" function, which is a bit of a smell.

Note that this _could_ have been solved by exposing a public `run_pip()`
function. However, I felt like that was worse because:
* Friction here is good as we try to migrate the codebase to embrace the
  "requirements definition file" technique to install dependencies.
* There could be confusion about the relationship between
  `install_pip_package()` (only works if venv already activated)
  and `_run_pip()`, which works "in general".

Differential Revision: https://phabricator.services.mozilla.com/D130120
2021-11-16 21:14:41 +00:00
Will Kahn-Greene e6d2fa42bb Bug 1594515 - Pass INTERNET_FLAG_SECURE when using https symbol supplier. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D130927
2021-11-16 13:13:23 +00:00
Gerald Squelart 1ed87e9a36 Bug 1740597 - Tweak GeckoProfiler.CPUUsage gtest expectations of zero/non-zero values - r=canaltinova
The expectation of 50% idle stacks was too optimistic, since we cannot control how the OS interacts with idle threads and may still had CPU time to them unexpectedly.
The patch now only expects at least one zero and at least one non-zero.

Having non-zero values should be guaranteed by the work necessary to go around the loop.
Having zero values is still hopeful, in practice we've seen a minimum of 7 out of 20 zeroes, so expecting only one should be much easier to achieve consistently. But in the worst case it could still theoretically fail; If that happens we may need to tweak again, by increasing the loop count, and/or running the whole test a few times.

Differential Revision: https://phabricator.services.mozilla.com/D131099
2021-11-15 22:34:45 +00:00
Renovate Bot 5791938a77 Bug 1740681 - Update dependency Sphinx to v4.3.0 r=firefox-source-docs-reviewers,championshuttler DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D130962
2021-11-15 19:50:13 +00:00
Iulian Moraru 897bb9d353 Backed out 2 changesets (bug 1707591) for causing python mozlint failures on test_yaml.py. CLOSED TREE
Backed out changeset a730ab2d0dbe (bug 1707591)
Backed out changeset 0269849fd7ef (bug 1707591)
2021-11-12 18:44:36 +02:00
Sylvestre Ledru 372b8d509f Bug 1707591 - Update to black 21.10b0 r=gerard-majax
Differential Revision: https://phabricator.services.mozilla.com/D130964
2021-11-12 15:06:55 +00:00
Neel Chauhan f11cb7b33f Bug 1643637: Make MOZ_PROFILER_STARTUP_ENTRIES understand sizes with units r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D131022
2021-11-12 11:38:12 +00:00
Gerald Squelart 5d87c8cbb8 Bug 1736616 - Discard CPU utilization due to suspending threads - r=canaltinova
Suspending threads on some platforms may actually add CPU times to the target threads, artificially making it look like that thread did some work since the last CPU sampling.
This is especially visible on Linux, where suspending is done by sending a signal to the target thread, where the signal handler does quite a bit of work. On Windows there seems to be CPU work happening, possibly when the OS is checking whether a thread needs to be woken up.

To help with this, this patch effectively removes the CPU running times that happen during sampling:
* Thread sampling actions before: record-CPU stack ... record-CPU stack ...
The difference between two "record-CPU" is the amount of work done, which includes "stack" sampling.
* After: record-CPU stack reset-CPU ... record-CPU stack reset-CPU ...
Now thanks to the "reset-CPU" happening after "stack", the next "record-CPU" will only include the work done outside of the stack sampling.
This "reset-CPU" action is done in the new platform-specific function `DiscardSuspendedThreadRunningTimes`.

Note that there is a small window (just before and after the actual stack sampling) where some real CPU work may be discarded as well, but it should be negligible compared to all the work that happens between sampling loops.

Differential Revision: https://phabricator.services.mozilla.com/D130444
2021-11-09 20:56:09 +00:00
Nika Layzell d73755617d Bug 1732343 - Part 2: Migrate all uses of base::FileDescriptor to UniqueFileHandle, r=handyman
This is useful for the following parts, as UniqueFileHandle is a cross-platform
type which can also be used to support transferring HANDLEs between processes.

This change requires fairly sweeping changes to existing callsites, which
previously did not require owning access to the handle types when transferring.
For the most part these changes were straightforward, but manual.

Differential Revision: https://phabricator.services.mozilla.com/D126564
2021-11-09 14:17:32 +00:00
Mark Banner b2e123ddca Bug 1739708 - Turn off ESLint rule mozilla/reject-importGlobalProperties for sjs files. r=Gijs,webdriver-reviewers,whimboo
sjs files have a separate sandbox, and require Cu.importGlobalProperties for now.

Differential Revision: https://phabricator.services.mozilla.com/D130693
2021-11-09 08:38:16 +00:00
Gerald Squelart cacfb45508 Bug 1738627 - MOZ_PROFILER_STARTUP_FEATURES {cpu,stacks,markers}allthreads - r=canaltinova
New features cpuallthreads, stacksallthreads, and markersallthreads now allow the user to selectively profile non-selected threads for more information.

The gtest GeckoProfiler.FeatureCombinations is modified to test combinations of up to 3 of a set of features, to lower its cost, which allows adding the new features.

Differential Revision: https://phabricator.services.mozilla.com/D130011
2021-11-08 23:59:37 +00:00
Gerald Squelart b3ef8bb344 Bug 1738627 - Better Synchronize profiler features lists - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D130563
2021-11-08 23:59:36 +00:00
Gerald Squelart 2a8eb1038b Bug 1738627 - profiler_thread_is_being_profiled's ThreadProfilingFeatures is now compulsory - r=canaltinova
Now that most calls to `profiler_thread_is_being_profiled` have been updated, the `ThreadProfilingFeatures` can be made compulsory, to force callers to think about what they really want to know about the current profiling state.

Differential Revision: https://phabricator.services.mozilla.com/D130010
2021-11-08 23:59:36 +00:00
Gerald Squelart 5399574d8b Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova
`profiler_thread_is_being_profiled` is used a lot for markers, so it makes sense to have a specialized version, which is a bit shorter, and lives in ProfilerMarkers.h.

Differential Revision: https://phabricator.services.mozilla.com/D130009
2021-11-08 23:59:35 +00:00
Gerald Squelart ec05d2c747 Bug 1738627 - Store distinct profiling features of individual threads - r=canaltinova
This replaces the simple boolean ThreadRegistrationData::mIsBeingProfiled and its directly-dependent functions.

profiler_thread_is_being_profiled now takes an extra (currently optional) argument, to check if any of the given ThreadProfilingFeatures is currently live.

This is used to control:
- Periodic sampling of CPU utilization.
- Periodic sampling of stacks.
- Markers.

This patch doesn't change the observed behavior yet (i.e., instead of IsBeingProfiled being true or false, all thread profiling features are either all or nothing), but will be used for finer-grained control in later patches.

Differential Revision: https://phabricator.services.mozilla.com/D130008
2021-11-08 23:59:35 +00:00
Gerald Squelart c01c33dff6 Bug 1739937 - "FileIO" markers may be missing the "filename" property - r=canaltinova
If the IOInterposer cannot retrieve a filename, the "filename" property is not even written in the marker "data" payload. So its presence should be checked before trying to use JS string functions on it.

Differential Revision: https://phabricator.services.mozilla.com/D130607
2021-11-08 10:14:24 +00:00
ssummar 7458659848 Bug 1739313 - Replaces mozilla::Tuple with std::tuple in tools/ r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D130335
2021-11-06 18:14:29 +00:00
Gregory Mierzwinski 688dc18433 Bug 1739426 - Add a diff feature to perfdocs verification. r=perftest-reviewers,AlexandruIonescu
This patch adds some code to produce a diff of the files that are problematic.

Differential Revision: https://phabricator.services.mozilla.com/D130380
2021-11-05 13:25:13 +00:00
Cristian Tuns cbd178830f Backed out 10 changesets (bug 1732343) for causing coverage build bustages (Bug 1739590).
Backed out changeset bba94c79f3e1 (bug 1732343)
Backed out changeset d30fa1e1f605 (bug 1732343)
Backed out changeset ed0b4f757c4b (bug 1732343)
Backed out changeset a272da134c34 (bug 1732343)
Backed out changeset ccb259d73843 (bug 1732343)
Backed out changeset a292990b62de (bug 1732343)
Backed out changeset 7d1854782ca8 (bug 1732343)
Backed out changeset 29eaabd9ffb3 (bug 1732343)
Backed out changeset 1aa26657a7a6 (bug 1732343)
Backed out changeset 7a6708dc620a (bug 1732343)
2021-11-05 07:21:04 -04:00
Cristian Tuns 1aeac93d23 Backed out 5 changesets (bug 1738627) for causing xpcshell failures on test_ext_geckoProfiler_schema.js CLOSED TREE
Backed out changeset 42d385d7da97 (bug 1738627)
Backed out changeset edeb3a338954 (bug 1738627)
Backed out changeset 98f02e35134d (bug 1738627)
Backed out changeset 711daa6dd24b (bug 1738627)
Backed out changeset 49e12753a40c (bug 1738627)
2021-11-05 05:12:28 -04:00
Gerald Squelart ea92e5ea81 Bug 1738627 - MOZ_PROFILER_STARTUP_FEATURES {cpu,stacks,markers}allthreads - r=canaltinova
New features cpuallthreads, stacksallthreads, and markersallthreads now allow the user to selectively profile non-selected threads for more information.

The gtest GeckoProfiler.FeatureCombinations is modified to test combinations of up to 3 of a set of features, to lower its cost, which allows adding the new features.

Differential Revision: https://phabricator.services.mozilla.com/D130011
2021-11-05 05:52:29 +00:00
Gerald Squelart ffc00218c3 Bug 1738627 - profiler_thread_is_being_profiled's ThreadProfilingFeatures is now compulsory - r=canaltinova
Now that most calls to `profiler_thread_is_being_profiled` have been updated, the `ThreadProfilingFeatures` can be made compulsory, to force callers to think about what they really want to know about the current profiling state.

Differential Revision: https://phabricator.services.mozilla.com/D130010
2021-11-05 05:52:29 +00:00
Gerald Squelart 7fa084ae7c Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova
`profiler_thread_is_being_profiled` is used a lot for markers, so it makes sense to have a specialized version, which is a bit shorter, and lives in ProfilerMarkers.h.

Differential Revision: https://phabricator.services.mozilla.com/D130009
2021-11-05 05:52:28 +00:00
Gerald Squelart 5448bc6c6e Bug 1738627 - Store distinct profiling features of individual threads - r=canaltinova
This replaces the simple boolean ThreadRegistrationData::mIsBeingProfiled and its directly-dependent functions.

profiler_thread_is_being_profiled now takes an extra (currently optional) argument, to check if any of the given ThreadProfilingFeatures is currently live.

This is used to control:
- Periodic sampling of CPU utilization.
- Periodic sampling of stacks.
- Markers.

This patch doesn't change the observed behavior yet (i.e., instead of IsBeingProfiled being true or false, all thread profiling features are either all or nothing), but will be used for finer-grained control in later patches.

Differential Revision: https://phabricator.services.mozilla.com/D130008
2021-11-05 05:52:28 +00:00
Nika Layzell b8279164db Bug 1732343 - Part 2: Migrate all uses of base::FileDescriptor to UniqueFileHandle, r=handyman
This is useful for the following parts, as UniqueFileHandle is a cross-platform
type which can also be used to support transferring HANDLEs between processes.

This change requires fairly sweeping changes to existing callsites, which
previously did not require owning access to the handle types when transferring.
For the most part these changes were straightforward, but manual.

Differential Revision: https://phabricator.services.mozilla.com/D126564
2021-11-04 19:20:17 +00:00
andrej 144e97d457 Bug 1737152 - Review and update Raptor test owners r=perftest-reviewers,sparky
Depends on D128528

Differential Revision: https://phabricator.services.mozilla.com/D129293
2021-11-03 22:18:36 +00:00
Myeongjun Go a2e121e262 Bug 1674220 - [perfdocs] Enumerate Talos tests using PerfDocs r=sparky,perftest-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D128037
2021-11-02 19:11:06 +00:00
Heitor Neiva 8760285b99 Bug 527670 - Fix download failure handling on UV async downloader r=aki DONTBUILD
Removing the unlinking shouldn't be a problem, only possible side effect would be removing the partially downloaded file

Differential Revision: https://phabricator.services.mozilla.com/D130132
2021-11-02 15:45:11 +00:00
Sebastian Hengst d21e359bd2 Merge autoland to mozilla-central. a=merge 2021-11-01 22:58:34 +01:00
OnuohaOluebube 5ff974a055 Bug 1460100 - Added ESLint rule to prevent use of nsIScriptableUnicodeConverter r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D129668
2021-11-01 16:56:25 +00:00
Andi-Bogdan Postelnicu 80fddabd67 Bug 1738598 - sunset Coverity in Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D129779
2021-10-31 17:18:02 +00:00
Riya c45c0f507e Bug 1730126 - Enable ESLint rule no-loss-of-precision. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D129336
2021-10-29 08:29:26 +00:00
Florian Quèze 1c3f80fe51 Bug 1738285 - move AUTO_PROFILE_FOLLOWING_RUNNABLE to its own header, r=gerald.
Differential Revision: https://phabricator.services.mozilla.com/D129825
2021-10-28 20:35:06 +00:00
Gerald Squelart 3cbc9abc45 Bug 1736513 - Repeat thread-CPU-measurement at most once - r=canaltinova
`GetRunningTimesWithTightTimestamp` was running the native get-running-times functions in a loop until it could run it within a "fast enough" time (based on an initial quick benchmark); This was to associate a timestamp with CPU measurements as close as possible, to get a more reliable CPU utilization graph at the end.
But this loop condition meant that if the system was under high stress, the loop could potentially re-run many times, wasting way more resources than the resulting "tightness" warrants.

So instead of repeating until "fast enough", we repeat at most once, and take the best of both measurements.
In the worst case, CPU measurements and timestamps may be a bit far apart, but it just means that a spike of activity may be reported in the next time slice instead, but the cumulative amount of work will be correct overall.

Differential Revision: https://phabricator.services.mozilla.com/D129773
2021-10-28 09:55:34 +00:00