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

Issue 290173006: telemetry: Improve symfs generation on Android (Closed)

Created:
6 years, 7 months ago by Sami
Modified:
6 years, 6 months ago
Reviewers:
Dominik Grewe, tonyg
CC:
chromium-reviews, telemetry+watch_chromium.org, vmiura
Visibility:
Public.

Description

Symfs is a set of files needed by perf to turn binary addresses into human readable symbols. This patch improves the symfs generation process on Android in four ways: 1. Actually verify that the unstripped symbol library matches the stripped file that was running on the device. This helps to avoid wasting time looking at bogus perf reports generated from mismatching libraries. 2. Download the exact set of system libraries used by the application instead of a hardcoded set. This makes the download process much faster. The tool now also checks that the libraries we have downloaded match the ones on the device. 3. Refactor symfs construction and other Android-specific perf steps into a standalone helper (with tests). This helper will eventually be used by adb_profile_chrome for perf profiling. 4. Fix a case where perf could fail silently and we would download a previously recorded perf run from the device. BUG=375754 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=273261

Patch Set 1 #

Patch Set 2 : Only pull necessary libs from the device. Tests TBD. #

Patch Set 3 : Tests. #

Patch Set 4 : Comment tweak. #

Total comments: 4

Patch Set 5 : Rebased. #

Patch Set 6 : Address comments and add a pylint override. #

Patch Set 7 : Renamed to be more generic, #

Total comments: 8

Patch Set 8 : Address comments. #

Patch Set 9 : Fixed bug with missing some required libraries. #

Patch Set 10 : Mock out perf binary. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+302 lines, -76 lines) Patch
A tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py View 1 2 3 4 5 6 7 8 9 1 chunk +178 lines, -0 lines 0 comments Download
A tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper_unittest.py View 1 2 3 4 5 6 7 8 9 1 chunk +91 lines, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/profiler/perf_profiler.py View 1 2 3 4 5 6 7 6 chunks +24 lines, -76 lines 0 comments Download
A tools/telemetry/unittest_data/sample_perf_report_output.txt View 1 2 3 4 5 6 7 8 9 1 chunk +9 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (0 generated)
Sami
6 years, 7 months ago (2014-05-21 14:27:28 UTC) #1
Dominik Grewe
As we talked about, it would great to be able to re-use the helper methods ...
6 years, 7 months ago (2014-05-21 17:11:56 UTC) #2
Sami
Rebased.
6 years, 7 months ago (2014-05-21 17:15:56 UTC) #3
Sami
Great point about VTune. The bulk of symfs creation should work with that too -- ...
6 years, 7 months ago (2014-05-21 17:23:21 UTC) #4
Dominik Grewe
https://codereview.chromium.org/290173006/diff/110001/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/290173006/diff/110001/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py#newcode83 tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py:83: Prepares a set of files ("symfs") to be used ...
6 years, 7 months ago (2014-05-23 09:51:50 UTC) #5
Sami
Thanks Dominik. All comments addressed. https://codereview.chromium.org/290173006/diff/110001/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/290173006/diff/110001/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py#newcode83 tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py:83: Prepares a set of ...
6 years, 7 months ago (2014-05-27 10:14:58 UTC) #6
Dominik Grewe
On 2014/05/27 10:14:58, Sami wrote: > Thanks Dominik. All comments addressed. > > https://codereview.chromium.org/290173006/diff/110001/tools/telemetry/telemetry/core/platform/profiler/android_profiling_helper.py > ...
6 years, 7 months ago (2014-05-27 10:24:48 UTC) #7
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 7 months ago (2014-05-27 15:37:10 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/290173006/130001
6 years, 7 months ago (2014-05-27 15:37:35 UTC) #9
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_aosp on tryserver.chromium ...
6 years, 7 months ago (2014-05-27 17:00:50 UTC) #10
Sami
The CQ bit was unchecked by skyostil@chromium.org
6 years, 7 months ago (2014-05-27 17:03:59 UTC) #11
Sami
I noticed after some more testing where we failed to download some libraries because stderr ...
6 years, 7 months ago (2014-05-27 17:44:06 UTC) #12
Dominik Grewe
On 2014/05/27 17:44:06, Sami wrote: > I noticed after some more testing where we failed ...
6 years, 6 months ago (2014-05-28 08:51:57 UTC) #13
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 6 months ago (2014-05-28 09:22:10 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/290173006/150001
6 years, 6 months ago (2014-05-28 09:22:27 UTC) #15
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_dbg_triggered_tests on tryserver.chromium ...
6 years, 6 months ago (2014-05-28 10:54:11 UTC) #16
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 6 months ago (2014-05-28 11:07:28 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel on tryserver.chromium (http://build.chromium.org/p/tryserver.chromium/builders/mac_chromium_rel/builds/33190)
6 years, 6 months ago (2014-05-28 11:07:29 UTC) #18
Sami
Looks like we can't rely on having perf on the build bots, so I've mocked ...
6 years, 6 months ago (2014-05-28 12:27:14 UTC) #19
Dominik Grewe
On 2014/05/28 12:27:14, Sami wrote: > Looks like we can't rely on having perf on ...
6 years, 6 months ago (2014-05-28 12:33:59 UTC) #20
Dominik Grewe
On 2014/05/28 12:27:14, Sami wrote: > Looks like we can't rely on having perf on ...
6 years, 6 months ago (2014-05-28 12:33:59 UTC) #21
Sami
The CQ bit was checked by skyostil@chromium.org
6 years, 6 months ago (2014-05-28 12:36:44 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/skyostil@chromium.org/290173006/170001
6 years, 6 months ago (2014-05-28 12:37:53 UTC) #23
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: android_chromium_gn_compile_rel on tryserver.chromium ...
6 years, 6 months ago (2014-05-28 16:11:23 UTC) #24
commit-bot: I haz the power
6 years, 6 months ago (2014-05-28 16:24:40 UTC) #25
Message was sent while issue was closed.
Change committed as 273261

Powered by Google App Engine
This is Rietveld 408576698