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

7922 Коммитов

Автор SHA1 Сообщение Дата
Sylvestre Ledru de03967deb Bug 1640532 - docs - fix some typos DONTBUILD r=webdriver-reviewers,whimboo
Depends on D76636

Differential Revision: https://phabricator.services.mozilla.com/D76637
2020-05-25 11:30:05 +00:00
Gerald Squelart f2401ecda3 Bug 1464506 - Record FileIO markers on all threads - r=canaltinova
In addition to the existing "mainthreadio" feature, we now have:
- "fileio" to also capture file I/O from other profiled threads.
- "fileioall" to also capture file I/O from all threads (even unregistered threads).
- "noiostacks" to prevent capturing stack traces for "io" markers.
These are all off by default, except for `MOZ_PROFILER_STARTUP=1`.

Differential Revision: https://phabricator.services.mozilla.com/D75764
2020-05-25 08:58:47 +00:00
Gerald Squelart 6fdf365051 Bug 1464506 - profiler_is_active_and_thread_is_registered - r=canaltinova
This can be used while the profiler is running, to know if the current thread is registered -- regardless of whether it is actively profiled.
This will help distinguish registered but non-profiled threads from threads that are not even registered (e.g., OS-generated threads).

Differential Revision: https://phabricator.services.mozilla.com/D76281
2020-05-25 08:58:14 +00:00
Gerald Squelart 1c13f92ad4 Bug 1464506 - profiler_features_if_active{,_and_unpaused}() returns all features bits - r=canaltinova
Some functions may want to examine more than one feature at once, these function return everything (if the profiler is active, and optionally unpaused) so that only one call is needed.

Differential Revision: https://phabricator.services.mozilla.com/D76280
2020-05-25 08:57:56 +00:00
Gerald Squelart 271f2b32ae Bug 1464506 - Statically check profiler feature numbers - r=canaltinova
This is a simple compile-time check that the feature numbers go from 0 to N-1, to prevent some mistakes when updating feature lists.

Differential Revision: https://phabricator.services.mozilla.com/D75763
2020-05-25 08:57:44 +00:00
Gerald Squelart ae37f20b88 Bug 1464506 - Output the thread id where the file IO happened - r=canaltinova
The thread id (if present) is output in a new "threadId" field.

Differential Revision: https://phabricator.services.mozilla.com/D75762
2020-05-25 08:57:36 +00:00
Gerald Squelart 7e583a4107 Bug 1464506 - Optionally record the thread id where each FileIO happened - r=canaltinova
The FileIO marker may be recorded into the main thread, so we need to keep track of the thread in which the IO really happened (which may be a thread that's not even selected for profiling).

There is not JSON output for it yet.

Differential Revision: https://phabricator.services.mozilla.com/D75761
2020-05-25 08:57:34 +00:00
Gerald Squelart 3147b9d1d6 Bug 1464506 - profiler_add_marker_for_mainthread records markers from any thread into the main thread track - r=canaltinova
Some markers may be more useful when gathered into a single track, and the main thread is ideal because it's almost always present.

Differential Revision: https://phabricator.services.mozilla.com/D75760
2020-05-25 08:57:31 +00:00
Gerald Squelart 2502f01aa8 Bug 1464506 - CorePS records the main thread id - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D75759
2020-05-25 08:57:29 +00:00
Greg Tatum 593ab0604f Bug 1628073 - Move gecko profiler testing files to mozgeckoprofiler; r=sparky,perftest-reviewers,gbrown
I need to add symbolication support for the mochitest Gecko Profiler command line
option. These profiles also need to be symbolicated. Unfortunately, there is not
a common place where I could use these files. Talos and Raptor each had their
own copy of the snappy symbolication server.

This commit consolidates these packages into a re-usable mozbase package that can
be used in mochitests, and eventually in other places like xpcshell tests.

I stubbed out a test file, but it doesn't do anything quite yet. This commit makes
it so that the tests still work in Raptor and Talos, but doesn't add any features.
It also doesn't try too hard to make the files look like a mozbase package.

Differential Revision: https://phabricator.services.mozilla.com/D74289
2020-05-22 13:18:44 +00:00
Tilden Windsor 3a9676792b Bug 1639483 - Remove "mach search". r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D76305
2020-05-21 15:49:57 +00:00
Tom Prince ca0e268b05 No bug: Rename list of labels to ignore on try to UNCOMMON_TRY_TASK_LABELS; r=ahal
Give it a more descriptive name, and avoid using `blacklist` in the name.

Differential Revision: https://phabricator.services.mozilla.com/D76031
2020-05-20 13:18:19 +00:00
championshuttler cce153f70e Bug 1639044 - Update the sphinxhcontrib-mermaid package for firefox docs.r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D75861
2020-05-20 12:27:26 +00:00
Gerald Squelart a88e6ae204 Bug 1594268 - profiler_add_marker_for_thread takes payload by const& - r=canaltinova
Instead of accepting a `UniquePtr<ProfilerMarkerPayload>`, `profiler_add_marker_for_thread` now takes it by `const ProfilerMarkerPayload&`.
All callers can now create the payload on the stack, or as a temporary object. This saves a memory alloc+free for each call.

Differential Revision: https://phabricator.services.mozilla.com/D75912
2020-05-19 23:07:54 +00:00
Coroiu Cristina 44c378a7fb Backed out 5 changesets (bug 1602832) for browser-chrome failures at toolkit/mozapps/extensions/test/xpinstall/browser_doorhanger_installs.js on a CLOSED TREE
Backed out changeset 059a7f44d1a9 (bug 1602832)
Backed out changeset 2f3cc391b48a (bug 1602832)
Backed out changeset 24d1ce1b0ac9 (bug 1602832)
Backed out changeset 5ea85726cc48 (bug 1602832)
Backed out changeset ee00e846104e (bug 1602832)
2020-05-19 23:05:26 +03:00
Marco Castelluccio 50d3ac79ff Bug 1638945 - Switch default 'mach try auto' strategy from bugbug_reduced to bugbug_debug_disperse. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D75969
2020-05-19 16:02:53 +00:00
Kershaw Chang 0e9baa4d27 Bug 1602832 - P3: Skip failed tests r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D67448
2020-05-19 12:56:52 +00:00
Kris Maglione 58a72e8979 Bug 1638988: Add SpecialPowers.spawnChrome. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D75832
2020-05-18 21:00:51 +00:00
alwu fd606724bc Bug 1612557 - part4 : use `Media` category for markers r=bryce,gerald,canaltinova
This patch will do :
- add `Media` markers in related codes
- implement `MediaSampleMarkerPayload` to record the media sample

The advantage of doing so :
- using markers can help us know what happens on the media by a glance without expanding the call stack
- adding sample markers allows us compare the speed of decoding sample in `MediaDecoderStataMachine` and rendering sample in `VideoSink`

Differential Revision: https://phabricator.services.mozilla.com/D74174
2020-05-16 19:58:25 +00:00
Aaron Klotz 03589b97f3 Bug 1637452: Part 5 - Fix JNI includes in tools/profiler; r=mstange
In this bug we're moving away from monolithic JNI headers to class-specific
headers so that we don't have to rebuild the world every time we make a change
to a JNI interface.

Differential Revision: https://phabricator.services.mozilla.com/D75368
2020-05-15 17:04:19 +00:00
Simon Fraser 7223242d99 Bug 1635321 update-packaging race condition fixes r=nthomas
conflicts with D75072, we should choose which we prefer based on bash version availability

Differential Revision: https://phabricator.services.mozilla.com/D75285
2020-05-15 03:22:08 +00:00
Sylvestre Ledru 64eef91a05 no bug - remove old references to inbound r=glob DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D75280
2020-05-14 14:03:43 +00:00
Edouard Oger afc16c8277 Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-12 21:36:19 +00:00
Tarek Ziadé 080870795e Bug 1635136 - add a --push-to-try option r=aerickson
This patch is adding an option to push a perftest run in the CI.

It's based on :
- sparse profiles
- push_to_try
- options passed through try_task_config.json

Differential Revision: https://phabricator.services.mozilla.com/D74115
2020-05-12 21:19:48 +00:00
Mitchell Hentges 08bd72ca2b Bug 1637354: Don't show time estimates for |./mach try release| r=ahal
Mach doesn't know which tasks are part of a release - that's decided in the decision task. Instead of
showing a bogus estimation, we shouldn't show one at all.

Differential Revision: https://phabricator.services.mozilla.com/D74904
2020-05-12 20:10:58 +00:00
Kartikaya Gupta 2e8b0e3383 Bug 1637271 - Avoid passing a bytes obj to json.loads with Python3. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D74898
2020-05-12 20:00:48 +00:00
Mitchell Hentges c23cde122b Bug 1637041: fix test_presets.py on windows r=rstewart
In some NT-specific code, a list of "items()" was being updated. In python 3, to modify the result
of "items()", you have to gain ownership first by explicitly converting it into a list().

Also resolves some flaky failures that were seen locally by marking test_presets.py as sequential.

Differential Revision: https://phabricator.services.mozilla.com/D74793
2020-05-12 17:52:00 +00:00
Nazım Can Altınova 2490316019 Bug 1464983 - Lower the java sampling rate to 1ms and increase the java buffer. r=gerald
We had to increase the java buffer limit to 64MiB because it was a bottleneck
and 8MiB wasn't enough for 1ms sampling rate. It was getting full pretty quick.
Even though we increased that limit, we are not going to allocate all of this
at the start. Since we are allocating the buffer chunk by chunk, we are going
to allocate only when we need.

Differential Revision: https://phabricator.services.mozilla.com/D74715
2020-05-12 10:54:13 +00:00
Gerald Squelart e1d51db19a Bug 1635570 - Cut too-long label dynamic strings and add ellipsis - r=canaltinova
If a label contains a dynamic string that's too long (512 characters or more), instead of just replacing it with "(too long)", we now cut it down to the maximum size, with an ellipsis at the end.

Added test for that in gtest. Also added nearby test for empty strings.

Differential Revision: https://phabricator.services.mozilla.com/D74378
2020-05-12 01:13:17 +00:00
Bogdan Tara a823ee6545 Backed out 2 changesets (bug 1628068) for ViaductRequest.cpp related bustages CLOSED TREE
Backed out changeset 013a469557c1 (bug 1628068)
Backed out changeset dcda2ce7b7f9 (bug 1628068)
2020-05-12 00:44:58 +03:00
Gerald Squelart bc2c84ac2b Bug 1636398 - Tweak default profiler buffer size in tests - r=canaltinova
Also removed explicit size in test_feature_nativeallocations, as we want a reasonably-big buffer in this test.

Other tests with small buffer sizes are fine, since the profiler imposes a minimum size that should be big enough to capture at least 8 large stacks (see bug 1571171).

Differential Revision: https://phabricator.services.mozilla.com/D74588
2020-05-11 13:09:50 +00:00
Edouard Oger 1493d71e42 Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-11 21:01:19 +00:00
Bogdan Tara 3df4970bcc Backed out 2 changesets (bug 1628068) for ViaductRequest.cpp related bustages CLOSED TREE
Backed out changeset 928a5891c55d (bug 1628068)
Backed out changeset b6fe5d357bed (bug 1628068)
2020-05-11 23:52:47 +03:00
Edouard Oger d6e7e33f9a Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-11 20:19:16 +00:00
Bogdan Tara 448d53548b Backed out 2 changesets (bug 1628068) for ViaductRequest.cpp related bustages CLOSED TREE
Backed out changeset 1ea8f742ca69 (bug 1628068)
Backed out changeset 3aa2f99843e0 (bug 1628068)
2020-05-11 23:06:31 +03:00
Edouard Oger 9790192f51 Bug 1628068 p2 - Implement viaduct gecko backend. r=tcsc,dragana,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D70257
2020-05-11 15:17:37 +00:00
Mitchell Hentges b8108d6064 Bug 1632429: Migrate |./mach try| to python 3; r=rstewart,ahal
|./mach try| subcommands are now compatible with both python 2 and 3.

Hand-tested with many combinations of subcommand and subcommand flags.

Updates tryselect unit tests to use Python 3.

Differential Revision: https://phabricator.services.mozilla.com/D73398
2020-05-06 22:17:14 +00:00
Christian Holler 53f361c007 Bug 1635762 - Switch libFuzzer upstream to git and add local patches. r=truber
Differential Revision: https://phabricator.services.mozilla.com/D74040
2020-05-11 12:45:07 +00:00
Mihai Alexandru Michis 2df205e3f0 Backed out changeset 14b092e7a974 (bug 1635762) for causing failures in browser_Telemetry_timestamp_test.js
CLOSED TREE
2020-05-11 17:00:53 +03:00
Christian Holler b8917ab3a4 Bug 1635762 - Switch libFuzzer upstream to git and add local patches. r=truber
Differential Revision: https://phabricator.services.mozilla.com/D74040
2020-05-11 12:45:07 +00:00
Sylvestre Ledru 1929dd1ab3 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D73347
2020-05-09 14:51:53 +00:00
Jon Bauman ff79fde159 Bug 1624056 - Properly vendor mp4parse-rust. r=kinetik
This requires --build-peers-said-large-imports-were-ok since
third_party/rust/mp4parse/src/lib.rs is 113KB. This code is just moving from
media/mp4parse-rust to third_party/rust, so it's not really adding to net code
size.

Differential Revision: https://phabricator.services.mozilla.com/D74488
2020-05-09 00:36:48 +00:00
Chris Fronk af8a02cc9d Bug 1512991 - Add JsonWriteFunc::Write to take string length. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D72560
2020-05-08 16:24:31 +00:00
thomasmo 59be1c47cd Bug 1635608 - Update OpenVR source code to use Unix line endings r=daoshengmu
This change simply changes line endings to make diffing easier with updates from OpenVR, which have Unix line endings.
Further, .clang-format-ignore, does not seem to work for wildcard to match a directory and subdirectory, so all files are listed individually.

Differential Revision: https://phabricator.services.mozilla.com/D74100
2020-05-07 20:20:39 +00:00
Geoff Brown 99f9b87119 Bug 1603510 - Allow multi-word $EDITOR in 'mach try syntax --edit-presets'; r=bc
Differential Revision: https://phabricator.services.mozilla.com/D74416
2020-05-08 17:54:10 +00:00
Gerald Squelart 3b34acf6e6 Bug 1632750 - Tweak MOZ_PROFILER_STARTUP_ENTRIES default values - r=canaltinova
These defaults were per process and there are usually around 8 processes.
Now these sizes apply to all processes, so they can be 8 times as big (but less on Android where memory may be more limited.)

Not changing Base Profiler defaults, as its buffer is not cross-process controlled.

Differential Revision: https://phabricator.services.mozilla.com/D73215
2020-05-08 03:36:10 +00:00
Gerald Squelart a36880438c Bug 1632750 - ProfilerChild handling update and destruction requests - r=canaltinova
This implement the child side:
When the first request for update arrives, it connects to the local chunk manager, to receive its updates.
If multiple updates are received, they are folded into one.
If there are both an update and a pending request, the request is fulfilled with the update and local data is reset.
And ProfilerChild handles "destroy" instructions to destroy local chunks.

At this point, the whole machinery is in place, and all combined profile buffers used in all processes should use around the maximum amount allowed.
A bit more memory may still be used, e.g., due to IPC delays, and because of recycling which keeps some unused chunks alive for later reuse. But overall that should be a small amount compared to the usual user-requested limit.

Differential Revision: https://phabricator.services.mozilla.com/D72369
2020-05-08 03:35:42 +00:00
Gerald Squelart 9456ec87dd Bug 1632750 - ProfileBufferGlobalController::HandleChunkManagerUpdate logic - r=canaltinova
The logic part of the controller receives all updates, and makes decisions to destroy old chunks when the memory limit is reached.

Differential Revision: https://phabricator.services.mozilla.com/D72368
2020-05-08 03:35:25 +00:00
Gerald Squelart 80fd31a8c3 Bug 1632750 - ProfileBufferGlobalController - r=canaltinova
When there is at least one ProfilerParent (i.e., we are interacting with at least one child process) AND the parent profiler is running, the ProfilerParentTracker sets up the ProfileBufferGlobalController that will manage all chunks.
As a first step, it connects with the local chunk manager (to receive chunk updates), and sends update requests to all children.

(The actual controller logic is not implemented in this patch, nor is the ProfilerChild side, see following patches.)

Differential Revision: https://phabricator.services.mozilla.com/D72367
2020-05-08 03:35:12 +00:00
Gerald Squelart 811ee56c78 Bug 1632750 - New profiler IPDL functions to manage chunks across processes - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D72366
2020-05-08 03:34:55 +00:00