Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Issue 316143002: telemetry: Improve perf profiler (Closed)

Created:
6 years, 6 months ago by Sami
Modified:
6 years, 6 months ago
Reviewers:
bulach, tonyg, vmiura
CC:
chromium-reviews, klundberg+watch_chromium.org, telemetry+watch_chromium.org, bulach+watch_chromium.org, yfriedman+watch_chromium.org, ilevy-cc_chromium.org
Visibility:
Public.

Description

telemetry: Improve perf profiler This patch makes some improvements to the perf profiler in telemetry: 1. Add a prebuilt perf binary to be run on the Linux x86_64 host. This lets us rely on always having a recent perf binary present, allowing us to use source code annotation by default on Android. The binary also includes patches needed for importing perf data into Trace Viewer. 2. Use better defaults for running perf. Most importantly, sample at 2000 Hz instead of the default 100 Hz. 3. On the Linux host, disable kernel symbol hiding for more complete symbolization. Note that this is also required by the new version of perf which this patch adds. 4. Turn on all CPUs on Android while running perf. This works around a bug in perf where samples from CPUs that were brought online while perf was running were not collected. The rationale for doing this only for perf instead of performance tests in general (to reduce noise) is that having all CPUs enabled for a long time is likely to lead to thermal throttling. BUG=375754 TEST=tools/telemetry/run_tests --browser=android-content-shell TestAndroidProfilingHelper; tools/telemetry/run_tests --browser=android-content-shell TestPerfProfiler; build/android/chrome_profiler/run_tests Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=276049

Patch Set 1 #

Total comments: 12

Patch Set 2 : Nits begone. #

Patch Set 3 : Minor tweak. #

Total comments: 3

Patch Set 4 : Poll quicker. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+276 lines, -70 lines) Patch
M build/android/chrome_profiler/perf_controller.py View 1 3 chunks +4 lines, -0 lines 0 comments Download
M build/android/pylib/perf/perf_control.py View 1 2 3 2 chunks +37 lines, -1 line 0 comments Download
A build/android/pylib/perf/perf_control_unittest.py View 1 1 chunk +46 lines, -0 lines 0 comments Download
D tools/telemetry/bin/android/perfhost.sha1 View 1 1 chunk +0 lines, -1 line 0 comments Download
A tools/telemetry/bin/linux/perfhost.sha1 View 1 chunk +1 line, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/android_platform_backend.py View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/linux_platform_backend.py View 1 2 3 chunks +12 lines, -10 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py View 1 2 3 chunks +65 lines, -9 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper_unittest.py View 1 4 chunks +23 lines, -13 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/profiler/perf_profiler.py View 1 2 9 chunks +87 lines, -36 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
Sami
Here are a bunch of perf improvements -- some of which I lifted from Victor's ...
6 years, 6 months ago (2014-06-05 11:00:21 UTC) #1
tonyg
A few nits, otherwise lg https://codereview.chromium.org/316143002/diff/1/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py File tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py (right): https://codereview.chromium.org/316143002/diff/1/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py#newcode26 tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py:26: def _GetOutDirectory(): I thought ...
6 years, 6 months ago (2014-06-05 14:12:13 UTC) #2
bulach
drive-by :) https://codereview.chromium.org/316143002/diff/1/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py File tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py (right): https://codereview.chromium.org/316143002/diff/1/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py#newcode215 tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py:215: online when recording is already underway. On ...
6 years, 6 months ago (2014-06-06 09:03:10 UTC) #3
Sami
On 2014/06/06 09:03:10, bulach wrote: > On 2014/06/05 14:12:14, tonyg wrote: > > Very interesting ...
6 years, 6 months ago (2014-06-06 09:53:50 UTC) #4
bulach
On 2014/06/06 09:53:50, Sami wrote: > On 2014/06/06 09:03:10, bulach wrote: > > On 2014/06/05 ...
6 years, 6 months ago (2014-06-06 12:30:38 UTC) #5
Sami
Thanks, all nits eradicated. Another look please? https://codereview.chromium.org/316143002/diff/1/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py File tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py (right): https://codereview.chromium.org/316143002/diff/1/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py#newcode26 tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py:26: def _GetOutDirectory(): ...
6 years, 6 months ago (2014-06-06 17:55:20 UTC) #6
bulach
lgtm, but no longer an owner... just a small suggestion below: https://codereview.chromium.org/316143002/diff/40001/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py File tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py (right): ...
6 years, 6 months ago (2014-06-09 10:06:52 UTC) #7
Sami
Thanks Marcus! https://codereview.chromium.org/316143002/diff/40001/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py File tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py (right): https://codereview.chromium.org/316143002/diff/40001/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py#newcode204 tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py:204: architecture and toolchain. On 2014/06/09 10:06:52, bulach ...
6 years, 6 months ago (2014-06-09 11:39:02 UTC) #8
tonyg
lgtm https://codereview.chromium.org/316143002/diff/40001/build/android/pylib/perf/perf_control.py File build/android/pylib/perf/perf_control.py (right): https://codereview.chromium.org/316143002/diff/40001/build/android/pylib/perf/perf_control.py#newcode87 build/android/pylib/perf/perf_control.py:87: time.sleep(1) Should we consider polling more often? 1s ...
6 years, 6 months ago (2014-06-09 15:58:09 UTC) #9
Sami
On 2014/06/09 at 15:58:09, tonyg wrote: > lgtm > > https://codereview.chromium.org/316143002/diff/40001/build/android/pylib/perf/perf_control.py > File build/android/pylib/perf/perf_control.py (right): ...
6 years, 6 months ago (2014-06-09 17:11:11 UTC) #10
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 6 months ago (2014-06-09 17:11:45 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/316143002/60001
6 years, 6 months ago (2014-06-09 17:12:29 UTC) #12
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_clang_dbg on tryserver.chromium ...
6 years, 6 months ago (2014-06-10 08:56:16 UTC) #13
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-10 11:31:08 UTC) #14
commit-bot: I haz the power
Try jobs failed on following builders: android_clang_dbg on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_clang_dbg/builds/150211)
6 years, 6 months ago (2014-06-10 11:31:09 UTC) #15
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 6 months ago (2014-06-10 12:27:36 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/316143002/60001
6 years, 6 months ago (2014-06-10 12:29:18 UTC) #17
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_clang_dbg on tryserver.chromium ...
6 years, 6 months ago (2014-06-10 14:11:08 UTC) #18
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-06-10 14:34:34 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg_triggered_tests on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered_tests/builds/161131)
6 years, 6 months ago (2014-06-10 14:34:35 UTC) #20
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 6 months ago (2014-06-10 15:26:54 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/316143002/60001
6 years, 6 months ago (2014-06-10 15:28:43 UTC) #22
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_clang_dbg on tryserver.chromium ...
6 years, 6 months ago (2014-06-10 16:02:04 UTC) #23
commit-bot: I haz the power
6 years, 6 months ago (2014-06-10 16:18:44 UTC) #24
Message was sent while issue was closed.
Change committed as 276049

Powered by Google App Engine
This is Rietveld 408576698