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

259 Коммитов

Автор SHA1 Сообщение Дата
Randell Jesup 77b8bbfbe2 Bug 1453387: Add network load status reports to gecko-profiler markers r=mstange 2018-04-19 23:32:17 -04:00
Markus Stange 2d93796161 Bug 1444430 - Add a ProfilerScreenshots class which can be used to submit DataSourceSurfaces to the profiler. r=jrmuizel
ProfilerScreenshots encodes these surfaces to JPG data URLs, and submits them
as profiler markers. The encoding is done on a separate thread.

MozReview-Commit-ID: 7CKDBqUsLny

--HG--
extra : rebase_source : 45b608544b4ddf8502302cf974ca4e8b306de64e
2018-03-26 23:08:33 -04:00
Markus Stange de5088e49a Bug 1444430 - Add a profiler feature called "screenshots". r=njn
MozReview-Commit-ID: 8blNvvliuog

--HG--
extra : rebase_source : 5465eb074f3988f9f3de9e00e1c42ce7897112c9
2018-04-12 15:21:40 -04:00
Markus Stange 8ef4dd52e6 Bug 1453786 - Remove unnecessary MOZ_GECKO_PROFILER #ifdefs in GeckoProfiler.h. r=njn
These lines of code are within the #else section of the #ifndef MOZ_GECKO_PROFILER
at the top of the file, so MOZ_GECKO_PROFILER is always defined for them.

MozReview-Commit-ID: IxRYexzZH0G

--HG--
extra : rebase_source : 302e5515323a63f145eed75a2b66a04fbde052e5
2018-04-12 16:27:25 -04:00
Markus Stange 7b785f663d Bug 1439014 - Add a profiler feature to enable JIT optimization tracking. r=njn,sfink
MozReview-Commit-ID: LDxiLVp7e9v

--HG--
extra : rebase_source : efefa814a050f06217de30704976048eeacc3caa
extra : intermediate-source : b58a6dce6a4e46ccfdbed363c67e2fa79043086b
extra : source : 6d91d0cc7d61af160b2ccd340adf23cb41389eed
2018-02-17 19:38:14 -05:00
arthur.iakab 5beb4527ab Backed out 2 changesets (bug 1439014) for failing mochitest chrome and test verify on tools/profiler/tests/chrome/test_profile_with_trackopts.html
Backed out changeset 57426696adaf (bug 1439014)
Backed out changeset a13074f87bb0 (bug 1439014)
2018-03-27 06:48:42 +03:00
Markus Stange 42fcb730e2 Bug 1439014 - Add a profiler feature to enable JIT optimization tracking. r=njn,sfink
MozReview-Commit-ID: LDxiLVp7e9v

--HG--
extra : rebase_source : b6d0ba745de702a88310278fd9ec0cd56205f463
extra : intermediate-source : b58a6dce6a4e46ccfdbed363c67e2fa79043086b
extra : source : 6d91d0cc7d61af160b2ccd340adf23cb41389eed
2018-02-17 19:38:14 -05:00
arthur.iakab bb69fe14b5 Backed out 2 changesets (bug 1439014) for failing mochitest chrome and test verify on tools/profiler/tests/chrome/test_profile_with_trackopts.html on a CLOSED TREE
Backed out changeset 226c8c740c34 (bug 1439014)
Backed out changeset 84c9b5ab7de9 (bug 1439014)
2018-03-27 02:16:17 +03:00
Markus Stange 6f36cc5745 Bug 1439014 - Add a profiler feature to enable JIT optimization tracking. r=njn,sfink
MozReview-Commit-ID: LDxiLVp7e9v

--HG--
extra : rebase_source : b6d0ba745de702a88310278fd9ec0cd56205f463
extra : intermediate-source : b58a6dce6a4e46ccfdbed363c67e2fa79043086b
extra : source : 6d91d0cc7d61af160b2ccd340adf23cb41389eed
2018-02-17 19:38:14 -05:00
arthur.iakab bfec308dac Backed out 2 changesets (bug 1439014) for failing chrome failures and test verify tests on tools/profiler/tests/chrome/test_profile_with_trackopts.htm on a CLOSED TREE
Backed out changeset f01eb749b3f9 (bug 1439014)
Backed out changeset 6d264bbb2669 (bug 1439014)
2018-03-26 23:26:15 +03:00
Markus Stange dd133bbe22 Bug 1439014 - Add a profiler feature to enable JIT optimization tracking. r=njn,sfink
MozReview-Commit-ID: LDxiLVp7e9v

--HG--
extra : rebase_source : b6d0ba745de702a88310278fd9ec0cd56205f463
extra : intermediate-source : b58a6dce6a4e46ccfdbed363c67e2fa79043086b
extra : source : 6d91d0cc7d61af160b2ccd340adf23cb41389eed
2018-02-17 19:38:14 -05:00
Xidorn Quan 8031c0838a Bug 1444296 part 2 - Have a separate marker for styles to present stats. r=mstange
MozReview-Commit-ID: FXYnFXDvajw

--HG--
extra : rebase_source : e6b10e1df7d1815afb704b4e6eea812c2affa7fb
extra : source : 1e8a29eb9c2966f458d8019feb9f91323dc4d94a
2018-03-15 11:59:22 +11:00
Greg Tatum 4f7596f26a Bug 1425605 - Add the start/end mark names to performance.measure profiler markers; r=baku,mstange
MozReview-Commit-ID: I8DzSlSi124

--HG--
extra : rebase_source : 5062bf33824284df7346dae15595f8e1e479bc40
2018-03-08 16:36:53 -06:00
Jashank Jeremy 5e7e2c2a06 Bug 1438120 - Fix non-MOZ_GECKO_PROFILER build by adding the missing AUTO_PROFILER_LABEL_FAST declaration. r=mstange
--HG--
extra : amend_source : ba4360be040c3d765f380d3c92e6fabf0cdfd436
2018-02-15 22:27:33 -05:00
Markus Stange e92440806d Bug 785440 - Add AUTO_PROFILER_LABEL_FAST. r=njn
This gets the pseudostack from the JSContext instead of using TLS, and only
pushes a pseudo stack frame if the profiler is active.

MozReview-Commit-ID: IzT4py9H8su

--HG--
extra : rebase_source : 9962455d59e3f8b85a347f4203ac619e654fcb7c
extra : source : f15e6874f6c14f7a5e5b0cb63acd0a95ad34db4e
2018-01-05 14:37:42 +01:00
Markus Stange 7a2c359a92 Bug 785440 - Move profiler_is_active() implementation (and RacyFeatures) into GeckoProfiler.h. r=njn
MozReview-Commit-ID: D8y5RK2t6N4

--HG--
extra : rebase_source : 50513145561a1123c47741cb845e9b4adcf104a0
extra : intermediate-source : 85c8d7e4a5eb1616d36d4ec7916e3b077da3b236
extra : source : 5dda2adf525363b32844ea8162235fae3b54d17d
2017-08-02 14:39:55 -04:00
Markus Stange 125c79a8ce Bug 1431179 - Remove the API to obtain the time of the first sample during profile streaming. r=mystor
MozReview-Commit-ID: KfZLNIAx4gy

--HG--
extra : rebase_source : 6b1a2dc19955a3a19877403f36d9dad551a9dc8a
extra : source : 6a241d9b3d1adf1afa72aab53ef8e15ece75fe90
2018-01-26 15:30:55 -05:00
Markus Stange 49d6d03730 Bug 1348959 - Remove wraparound indexing in ProfileBuffer. r=djvj,mystor,njn
MozReview-Commit-ID: LeBFSRE6GXR

--HG--
extra : rebase_source : c46c0cd0dd543a367f72000e3cae65260a25b365
extra : source : 0f2e9dd7d45551d40944e4219e5a9eb92d54b2c4
2018-02-06 00:25:30 -05:00
Markus Stange 519cb27db8 Bug 1348959 - Make profiler_get_buffer_info() return information in a struct instead of using outparams. r=mystor,njn
MozReview-Commit-ID: 1iJ05NxOdou

--HG--
extra : rebase_source : 1c4e654340630b0f21c165b41b8fc1be30743c48
extra : source : 64b1a4108f6c3319cfc74c1246bdd2e895e93e1a
2018-01-18 17:54:57 -05:00
Markus Stange 656fd03724 Bug 1348959 - Make ProfileBuffer fields uint32_t. r=mystor,njn
MozReview-Commit-ID: veIGhEQyK5

--HG--
extra : rebase_source : 2c1853f666afd300ff82a2717f1a7caf9a19cf98
extra : source : e3d8bdc726d6045f69f3c3efa4e91c499a418428
2018-01-18 17:54:33 -05:00
Nika Layzell f5c4dc1b8f Bug 1430850 - Part 3: Expose profiler_add_marker_for_thread to add a marker for a specific thread, r=mstange
MozReview-Commit-ID: 2nyp98oBKHk
2018-01-16 14:07:28 -05:00
Alexandre Poirot f572e41c43 Bug 1423890 - Add markers for background hangs r=dthayer,mstange
MozReview-Commit-ID: 484UZEbbd12

--HG--
extra : rebase_source : f739ce23944205cb88e8ea40289c8de6f07d1034
2017-12-07 02:35:36 -08:00
Nika Layzell a7666fd8fe Bug 1418048 - Add a callback-based Send API to async returning IPDL methods, r=billm
Currently if you write an async IPDL method which has a return value, we expose
a SendXXX method which returns a MozPromise. This MozPromise can then be
->Then-ed to run code when it is resolved or rejected.

Unfortunately, using this API loses ordering guarantees which IPDL provides.
MozPromise::Then takes an event target, which the resolve runnable is dispatched
to. This means that the resolve callback's code doesn't have any ordering
guarantees relative to the processing of other IPC messages coming over the same
protocol.

This adds a new overload to SendXXX with two additional arguments, a lambda
callback which is called if the call succeeds, and a lambda callback which is
called if the call fails. These will be called in order with other IPC messages
sent over the same protocol.

MozReview-Commit-ID: FZHJJaSDoZy
2017-11-20 17:55:32 -05:00
Tristan Bourvon b15e4b2827 Bug 1412648 - Initialize some uninitialized fields in tools/profiler/. r=mstange 2017-10-31 11:20:12 +01:00
Nicholas Nethercote 3842370ed8 Bug 1405541 (attempt 2) - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive. This patch splits that macro into three new ones that are harder to
mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.

--HG--
extra : rebase_source : 3e2bbec4737b696e1c86579ae54be4cb3186c100
2017-10-13 16:12:57 +11:00
Nicholas Nethercote bbfec72b95 Bug 1406296 (part 3) - Remove the profiler's "gpu" feature. r=mstange,jrmuizel.
This allows a bunch of additional stuff to be removed: ContextStateTracker,
ContextStateTrackerOGL, and GPUMarkerPayload.

--HG--
extra : rebase_source : 879045a9f9ac31ca0beb596964c6c3ef30283a53
2017-10-06 17:35:44 +11:00
Nicholas Nethercote 4bedc03a3d Bug 1406296 (part 2) - Remove the profiler's "layersdump" feature. r=mstange.
Because it just doesn't control any behaviour within the profiler, and it just
duplicates gfxPrefs::LayersDumpTexture().

With this gone, PROFILER_FEATURE_ACTIVE can also be removed.

--HG--
extra : rebase_source : d6718894b8a9332cf73729ea6b7bd2de348817bd
2017-10-06 17:34:22 +11:00
Nicholas Nethercote 706daca552 Bug 1406296 (part 1) - Remove the profiler's "displaylistdump" feature. r=mstange.
It's not useful.

--HG--
extra : rebase_source : b18244b6f1e28b29f1f71a4cca55781316e2cdc5
2017-10-06 17:33:30 +11:00
Sebastian Hengst 051f888cef Backed out changeset 759a43ebc6bf (bug 1405541) for asserting in devtools/client/performance/test/browser_perf-console-record-03.js on Windows 7. r=backout
--HG--
extra : amend_source : 3df3e75c561cbc42db104ec1a6f6026ef021e3c7
2017-10-11 13:15:26 +02:00
Nicholas Nethercote add7e65972 Bug 1405541 - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive.

This patch splits that macro into three new ones that are harder to mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.

--HG--
extra : rebase_source : 53c8b43b6a1be06d00618a133e28bf95c46a3ba3
2017-10-11 13:03:34 +02:00
Phil Ringnalda bd5ca8f40d Backed out changeset 901a16fec9fc (bug 1405541) for Windows assertion failures
MozReview-Commit-ID: DRGWXU4Tbfk
2017-10-10 23:28:33 -07:00
Nicholas Nethercote b23fb68ae3 Bug 1405541 - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive.

This patch splits that macro into three new ones that are harder to mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.

--HG--
extra : rebase_source : 59f77df0124249bfd11fee3585420a17b4201d37
2017-10-04 13:44:24 +11:00
Nicholas Nethercote 8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Nicholas Nethercote 74e64bcaa2 Bug 1403868 (part 3) - Rename the profiler's RAII macros. r=mstange.
--HG--
extra : rebase_source : 468a76da39dbc18c5eb9136553d73ca3cec080cf
2017-10-03 19:48:34 +11:00
Nicholas Nethercote cbc9fbb2bf Bug 1403868 (part 2) - Tweak profiler_tracing(). r=mstange.
This patch does the following.

- Makes the TracingKind argument non-optional.

- Puts the UniqueProfilerBacktrace argument last in the second variant.

- Reorders AutoProfilerTracing to match the order of the profiler_tracing()
  declarations.

--HG--
extra : rebase_source : 8e9acdaf777c642cd854570771a3f96da6d524d1
2017-10-03 19:48:10 +11:00
Nicholas Nethercote 93c60b0d95 Bug 1403868 (part 1) - Remove argument from AutoProfilerInit(). r=mstange.
We can use |this| instead, as is already done in AutoProfilerRegisterThread().

--HG--
extra : rebase_source : c79716443cb8483f078d1d3d6a87d25a8d3d5445
2017-10-03 19:47:44 +11:00
Nicholas Nethercote c1b8117cfd Bug 1401421 - Remove profiler_get_backtrace_noalloc. r=mstange.
Bug 1385953 removed MemProfiler, which was its only user.

--HG--
extra : rebase_source : 87ecf6aec67f4bf073e08ea5f2b2fa9734451e8c
2017-09-20 11:46:26 +10:00
Eric Rahm a33f11e0f5 Bug 1391803 - Use nsStringFwd.h for forward declaring string classes. r=froydnj
We should not be declaring forward declarations for nsString classes directly,
instead we should use nsStringFwd.h. This will make changing the underlying
types easier.

--HG--
extra : rebase_source : b2c7554e8632f078167ff2f609392e63a136c299
2017-08-16 16:48:52 -07:00
Michael Layzell b854c24623 Bug 1388818 - Remove old profiler_suspend_and_sample_thread, r=njn
MozReview-Commit-ID: 4kjGbNi3c7g
2017-08-16 11:44:07 -04:00
Michael Layzell bb9d607029 Bug 1386751 - Split CollectCodeLocation into CollectWasmFrame and CollectPseudoEntry, r=njn
MozReview-Commit-ID: 4LNuJQtm95K
2017-08-16 11:44:00 -04:00
Kan-Ru Chen 87a450cad1 Bug 1386495 - Add timeStamp to DOMEventMarkerPayload. r=mstange,smaug
MozReview-Commit-ID: B3b4laxMqQM

--HG--
extra : rebase_source : 80e41c2f9d921ddd93d41c348594895046c7af8f
2017-08-03 15:42:42 +08:00
Markus Stange 803835a8f1 Bug 1384688 - Add an aIsShuttingDown argument to profiler_get_profile() and to profiler_stream_json_for_this_process(). r=njn
When set to true, the resulting profile will have a non-null meta.shutdownTime
field which is set to current time.
Non-shutdown profiles also get that field, but it's null for them.

MozReview-Commit-ID: 1vpmhBR8rC6

--HG--
extra : rebase_source : b026088053c30acd287f0dc3afa7ddf14093ec27
2017-07-31 14:23:13 -04:00
Sebastian Hengst c4e0fbd639 Backed out changeset e9d92bc3be81 (bug 1384688) 2017-07-31 20:09:57 +02:00
Markus Stange 607fc637d3 Bug 1384688 - Add an aIsShuttingDown argument to profiler_get_profile() and to profiler_stream_json_for_this_process(). r=njn
When set to true, the resulting profile will have a non-null meta.shutdownTime
field which is set to current time.
Non-shutdown profiles also get that field, but it's null for them.

MozReview-Commit-ID: 1vpmhBR8rC6

--HG--
extra : rebase_source : 38573ff847ee7e2ac5df9c82564dd6495cc1636f
2017-07-31 13:11:19 -04:00
Markus Stange 4036fdd6b0 Bug 1384693 - Let callers of profiler_stream_json_for_this_process obtain the time of the first sample in the buffer. r=njn
MozReview-Commit-ID: IRFq1F3dWIk

--HG--
extra : rebase_source : d4454baf4b4eaf8f185b96a59e40ace5f6702bcc
2017-07-27 15:04:59 -04:00
Wes Kocher f19f28adfd Merge m-c to autoland, a=merge
MozReview-Commit-ID: F1X8wKqbkg
2017-07-25 19:16:09 -07:00
Carsten "Tomcat" Book bdf7db3d13 Merge mozilla-central to mozilla-inbound
--HG--
rename : dom/tests/mochitest/chrome/test_window_getAppLocales.html => dom/tests/mochitest/chrome/test_window_getRegionalPrefsLocales.html
rename : mobile/android/app/src/main/res/drawable/as_contextmenu_divider.xml => mobile/android/app/src/main/res/drawable/as_contextmenu_divider_helper.xml
rename : testing/tools/autotry/autotry.py => tools/tryselect/selectors/syntax.py
extra : rebase_source : d74c74a654cd977d35e35de2768ada4ebe659ae4
2017-07-25 14:38:43 +02:00
Nicholas Nethercote 37c96fc477 Bug 1380286 (attempt 2) - Introduce ProfilerStackCollector. r=mstange.
--HG--
extra : rebase_source : 7eac82fa5f01f48f239a804ff9d8d662cd1c44aa
2017-07-25 16:47:14 +10:00
Kan-Ru Chen 5454b4c576 Bug 1382990 - Change the DOMEventMarkerPayload field name 'type' to 'eventType' to avoid conflicts. r=mstange
MozReview-Commit-ID: BX9nLoCybbG

--HG--
extra : rebase_source : 996326a32fdb58ff6f13b9532e73710851899627
2017-07-21 17:41:51 +08:00
Markus Stange bdcac7a378 Bug 1382910 - Update the profiler state in the child process once PProfiler is connected. r=njn
This handles the case where the profiler state changes in the parent process
between the initial launch of the child process and the time at which the
PProfiler connection is established.

MozReview-Commit-ID: 5SQme5M7P30

--HG--
extra : rebase_source : 301d5541ff5c05a9540e45f1b57c13fb37d5d6fa
2017-07-24 16:33:50 -04:00