Fix periodic dumping on Android |
|||
Issue descriptionBackground context: go/memory-infra The CL https://codereview.chromium.org/2912483002/ broke periodic dumps on Android since the Android inspect tracing path does not use tracing_ui.cc. It uses Devtools protocol for triggering tracing and only uses tracing UI for displaying the trace. A probable fix is here: https://codereview.chromium.org/2933193002/ But, it seems to break desktop tracing and also requires some tests. I do not have time to get to this issue now, Erik can you please fix this soon? Or revert the CL mentioned before so that Android tracing is working.
,
Jun 20 2017
Reverting: https://codereview.chromium.org/2952693002/
,
Jun 20 2017
,
Jun 21 2017
There are two ways to take a trace. On Android, record_controller.html calls inspector_tracing_controller_client.html calls the Devtools Tracing.Start API. https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/inspector/browser_protocol.json?type=cs&q=browser+devtools+file:json$+package:%5Echromium$&l=4207 This API supports both deprecated parameters [e.g. categories] and non-deprecated parameters [e.g. traceConfig]. We currently use the former. We want to explicitly specify a TraceConfig so that we can specify a memoryDumpConfig. ====================================================== On Desktop, record_controller.html calls xhr_based_tracing_controller_client.html calls the json/begin_recording endpoint. https://cs.chromium.org/chromium/src/content/browser/tracing/tracing_ui.cc?type=cs&q=content/browser/tracing/tracing_ui.cc&l=160 Currently, this takes some custom parameters that is intended to mimic the deprecated parameters [e.g. categories] for the Devtools Tracing.Start API, but is otherwise unspecified anywhere. ====================================================== There are two ways forward. Either: 1) record_controller.html supports the new traceConfig support for Devtools Tracing.Start, and also the old [unspecified] format for json/begin_recording. 2) We modify json/begin_recording to support the new parameters for Tracing.Start. (2) results in less overall code, at the cost of needing to change an existing API. I've gone ahead and written up a CL to do this: https://codereview.chromium.org/2948033004/
,
Jun 22 2017
(adding some other tracing folks to make sure I am not overlooking anything) Alright, thanks for the summary. AFAIK json/begin_recording is not an stable API surface, in the sense that nothing other than chrome://tracing (which ships as part of the same binary) depends on that. Which means that we should be able to do whatever change we want there. So whatever change to json/begin_recording sgtm. I just don't fully understand how doing that fixes Android though. IIRC json/begin_recording is only used by chrome://tracing (desktop) but not chrome://inspect?tracing (android). So how does (2) going to fix the original problem. Or is (2) an intermediate step required to then have both the UIs (desktop and android) pushing the same data? Somehow I speculate that it is the case > On android ... (snip) ... We currently use the former. We want to explicitly specify a TraceConfig so that we can specify a memoryDumpConfig. Right, fully agree here.
,
Jun 22 2017
Agreed that AFIAK json/begin_recording is not a stable API surface. Not sure about chrome:///inspect?tracing; Oystein?
,
Jun 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3e164f76405e21777fae49bd221e8d86e7df4bfd commit 3e164f76405e21777fae49bd221e8d86e7df4bfd Author: erikchen <erikchen@chromium.org> Date: Thu Jun 22 21:15:44 2017 Add a second format to the tracing json/begin_recording endpoint. The previous format was unspecified, untested, and using the older category_filters format. This is incompatible with the newer included/excluded categories format. The new format is the same as the TraceConfig format. This CL also adds tests. BUG= chromium:735124 Review-Url: https://codereview.chromium.org/2948033004 Cr-Commit-Position: refs/heads/master@{#481662} [modify] https://crrev.com/3e164f76405e21777fae49bd221e8d86e7df4bfd/content/browser/tracing/tracing_ui.cc [modify] https://crrev.com/3e164f76405e21777fae49bd221e8d86e7df4bfd/content/browser/tracing/tracing_ui.h [add] https://crrev.com/3e164f76405e21777fae49bd221e8d86e7df4bfd/content/browser/tracing/tracing_ui_unittest.cc [modify] https://crrev.com/3e164f76405e21777fae49bd221e8d86e7df4bfd/content/test/BUILD.gn
,
Jun 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/247215d39e070e9e9d9ff4dc58a6f37682a5d125 commit 247215d39e070e9e9d9ff4dc58a6f37682a5d125 Author: catapult-deps-roller@chromium.org <catapult-deps-roller@chromium.org> Date: Fri Jun 23 01:49:56 2017 Roll src/third_party/catapult/ 326eb2419..e81045315 (7 commits) https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/326eb241976e..e810453155c3 $ git log 326eb2419..e81045315 --date=short --no-merges --format='%ad %ae %s' 2017-06-22 dtu [pinpoint] Reduce Isolate key hash length from 512 to 256. 2017-06-22 erikchen Fix periodic dumping for memory-infra on Android. 2017-06-22 benjhayden Fix a memory leak in results.html. 2017-06-22 benjhayden Document significance in metrics-results-ui.md. 2017-06-22 eakuefner [Dashboard] Create corresponding rows for histograms 2017-06-22 benjhayden Fix and test histogram-set-table.leafHistograms. 2017-06-22 benjhayden Fix and test sorting by delta statistics. Created with: roll-dep src/third_party/catapult BUG= 735124 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, see: http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel TBR=sullivan@chromium.org Change-Id: I20f82210195a3eba6600d6da3b14aa52513421d9 Reviewed-on: https://chromium-review.googlesource.com/545166 Reviewed-by: <catapult-deps-roller@chromium.org> Commit-Queue: <catapult-deps-roller@chromium.org> Cr-Commit-Position: refs/heads/master@{#481771} [modify] https://crrev.com/247215d39e070e9e9d9ff4dc58a6f37682a5d125/DEPS
,
Jun 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/840112713871f67a18d1ee296e42055a40a45be5 commit 840112713871f67a18d1ee296e42055a40a45be5 Author: erikchen <erikchen@chromium.org> Date: Fri Jun 23 16:12:59 2017 Extend unit test for json/begin_recording endpoint. The end-point now supports passing memory dump configs. Add tests. BUG= chromium:735124 Review-Url: https://codereview.chromium.org/2954603002 Cr-Commit-Position: refs/heads/master@{#481914} [modify] https://crrev.com/840112713871f67a18d1ee296e42055a40a45be5/content/browser/tracing/tracing_ui_unittest.cc
,
Jun 30 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by ssid@chromium.org
, Jun 20 2017