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

Issue 91573003: Make page_cycler.py fully measure memory for each page. (Closed)

Created:
7 years ago by Philippe
Modified:
7 years ago
Reviewers:
bulach, tonyg, qyearsley, shadi
CC:
chromium-reviews, chrome-speed-team+watch_google.com, pasko, Dai Mikurube (NOT FULLTIME), frankf, craigdh
Visibility:
Public.

Description

Make page_cycler.py fully measure memory for each page. Telemetry makes the distinction between metrics collected for each page and for each page set. The fine-grained memory metrics were collected only per page set (although there was some histogram data collected per page). This CL makes the memory metric module systematically report the whole data per page (and not only per page set) so that we can measure pages independently. The per page set memory metric collection is now a no-op. BUG=323494 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=239784

Patch Set 1 #

Total comments: 6

Patch Set 2 : Address Tony and Quinten's comments #

Total comments: 2

Patch Set 3 : Address Marcus' comments #

Total comments: 8

Patch Set 4 : Address Tony's comments #

Total comments: 2

Patch Set 5 : Address Tony's comment #

Patch Set 6 : Address Shadi's comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+56 lines, -62 lines) Patch
M build/android/pylib/android_commands.py View 1 2 3 2 chunks +0 lines, -16 lines 0 comments Download
M tools/perf/measurements/media.py View 1 1 chunk +1 line, -1 line 0 comments Download
M tools/perf/measurements/memory.py View 1 1 chunk +0 lines, -3 lines 0 comments Download
M tools/perf/measurements/memory_multi_tab.py View 1 1 chunk +0 lines, -3 lines 0 comments Download
M tools/perf/measurements/page_cycler.py View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M tools/perf/metrics/memory.py View 1 2 3 4 5 4 chunks +30 lines, -32 lines 0 comments Download
M tools/telemetry/telemetry/core/browser.py View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/android_platform_backend.py View 1 2 3 4 2 chunks +13 lines, -1 line 0 comments Download
M tools/telemetry/telemetry/core/platform/mac_platform_backend.py View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/platform_backend.py View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/profiler/android_prebuilt_profiler_helper.py View 1 2 3 1 chunk +2 lines, -3 lines 0 comments Download
M tools/telemetry/telemetry/core/platform/profiler/perf_profiler.py View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M tools/telemetry/telemetry/core/platform/profiler/tcpdump_profiler.py View 1 2 3 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 29 (0 generated)
Philippe
I'm not fluent in Telemetry so please review this carefully :)
7 years ago (2013-11-27 17:08:39 UTC) #1
tonyg
lg2m, but quinten should probably approve. Thank you for making this better :) https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/measurements/page_cycler.py File ...
7 years ago (2013-11-27 17:59:58 UTC) #2
qyearsley
As Tony mentioned, you'll also want to make the same change to the memory, memory_multi_tab ...
7 years ago (2013-11-27 19:01:04 UTC) #3
qyearsley
https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py File tools/perf/metrics/memory.py (right): https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py#newcode148 tools/perf/metrics/memory.py:148: def AddSummaryResults(self, results, trace_name=None): On 2013/11/27 17:59:58, tonyg wrote: ...
7 years ago (2013-11-27 19:01:55 UTC) #4
Philippe
Thanks guys! Marcus, I will need you to take a look at android_commands.py :) Quinten ...
7 years ago (2013-11-28 10:30:13 UTC) #5
bulach
thanks pliard! one suggestion below, let me know your thoughts: https://codereview.chromium.org/91573003/diff/20001/build/android/pylib/android_commands.py File build/android/pylib/android_commands.py (right): https://codereview.chromium.org/91573003/diff/20001/build/android/pylib/android_commands.py#newcode1449 ...
7 years ago (2013-11-28 13:31:23 UTC) #6
Philippe
Thanks Marcus! https://codereview.chromium.org/91573003/diff/20001/build/android/pylib/android_commands.py File build/android/pylib/android_commands.py (right): https://codereview.chromium.org/91573003/diff/20001/build/android/pylib/android_commands.py#newcode1449 build/android/pylib/android_commands.py:1449: def PurgeUnpinnedAshmem(self): On 2013/11/28 13:31:24, bulach wrote: ...
7 years ago (2013-11-28 17:03:04 UTC) #7
bulach
lgtm, thanks! please let qyearsley have the final word :)
7 years ago (2013-11-28 17:18:01 UTC) #8
tonyg
The most recent version raises some more issues I'd like to address before landing this. ...
7 years ago (2013-11-28 17:31:04 UTC) #9
bulach
+frankf / craigdh https://codereview.chromium.org/91573003/diff/40001/tools/telemetry/telemetry/core/platform/android_platform_backend.py File tools/telemetry/telemetry/core/platform/android_platform_backend.py (right): https://codereview.chromium.org/91573003/diff/40001/tools/telemetry/telemetry/core/platform/android_platform_backend.py#newcode115 tools/telemetry/telemetry/core/platform/android_platform_backend.py:115: if not self._purge_ashmem_binary_was_pushed: On 2013/11/28 17:31:05, ...
7 years ago (2013-11-28 17:49:24 UTC) #10
Philippe
Yeah, great idea! In terms of design, there is also another approach that would have ...
7 years ago (2013-11-29 13:26:20 UTC) #11
bulach
yeah, I was thinking that the existing android_commands.py itself wouldn't change, but then the impl ...
7 years ago (2013-11-29 13:41:52 UTC) #12
Philippe
Ok, thanks Marcus! Agreed, let's iterate :) I will look into adding an android_commands instance-level ...
7 years ago (2013-11-29 13:47:24 UTC) #13
Philippe
Thanks guys! PTAL :) BTW, what is the immediate impact of this CL going to ...
7 years ago (2013-11-29 17:02:12 UTC) #14
tonyg
Last comment, everything else is good to go. Regarding perf sheriff impact, I recommend just ...
7 years ago (2013-11-29 17:35:31 UTC) #15
Philippe
Thanks Tony! https://chromiumcodereview.appspot.com/91573003/diff/60001/tools/telemetry/telemetry/core/platform/android_platform_backend.py File tools/telemetry/telemetry/core/platform/android_platform_backend.py (right): https://chromiumcodereview.appspot.com/91573003/diff/60001/tools/telemetry/telemetry/core/platform/android_platform_backend.py#newcode112 tools/telemetry/telemetry/core/platform/android_platform_backend.py:112: host_path = host_path_finder.GetMostRecentHostPath('purge_ashmem') On 2013/11/29 17:35:32, tonyg ...
7 years ago (2013-12-02 09:16:57 UTC) #16
tonyg
lgtm Thanks!
7 years ago (2013-12-02 15:21:29 UTC) #17
Philippe
JFYI, I'm waiting for the other CL (doing the PushFileIfNeeded() caching) to land (which requires ...
7 years ago (2013-12-02 16:43:39 UTC) #18
shadi
https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py File tools/perf/metrics/memory.py (left): https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py#oldcode122 tools/perf/metrics/memory.py:122: if trace_name: Why removing all 'trace_name' support? This will ...
7 years ago (2013-12-02 23:09:01 UTC) #19
Philippe
https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py File tools/perf/metrics/memory.py (left): https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py#oldcode122 tools/perf/metrics/memory.py:122: if trace_name: On 2013/12/02 23:09:02, shadi wrote: > Why ...
7 years ago (2013-12-03 12:54:59 UTC) #20
shadi
On 2013/12/03 12:54:59, Philippe wrote: > https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py > File tools/perf/metrics/memory.py (left): > > https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py#oldcode122 > ...
7 years ago (2013-12-03 17:06:52 UTC) #21
pliard
On 2013/12/03 17:06:52, shadi wrote: > On 2013/12/03 12:54:59, Philippe wrote: > > > https://chromiumcodereview.appspot.com/91573003/diff/1/tools/perf/metrics/memory.py ...
7 years ago (2013-12-05 09:48:21 UTC) #22
Philippe
Shadi: ping :) On Thu, Dec 5, 2013 at 10:48 AM, <pliard@google.com> wrote: > On ...
7 years ago (2013-12-09 14:17:18 UTC) #23
shadi
LGTM! Thanks for addressing my comments.
7 years ago (2013-12-09 17:23:41 UTC) #24
Philippe
Thanks Shadi! On Mon, Dec 9, 2013 at 6:23 PM, <shadi@chromium.org> wrote: > LGTM! > ...
7 years ago (2013-12-09 17:28:10 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pliard@chromium.org/91573003/100001
7 years ago (2013-12-10 11:29:15 UTC) #26
commit-bot: I haz the power
Change committed as 239784
7 years ago (2013-12-10 15:13:58 UTC) #27
Philippe
FYI, I had to revert this :/ It caused a failure on Mac: http://build.chromium.org/p/chromium.perf/builders/Mac10.6%20Perf%284%29/builds/841/steps/media.media_cns_cases/logs/stdio The ...
7 years ago (2013-12-10 17:07:30 UTC) #28
shadi
7 years ago (2013-12-10 18:59:22 UTC) #29
are you running it on Windows? it should be disabled just on Windows. to
debug you can enable it locally just edit benchmarks/media.py.

I don't think the problem is with this benchmark per se, it probably is the
trace_name argument that is only used by media benchmarks atm
On Dec 10, 2013 9:07 AM, "Philippe Liard" <pliard@chromium.org> wrote:

> FYI, I had to revert this :/ It caused a failure on Mac:
>
http://build.chromium.org/p/chromium.perf/builders/Mac10.6%20Perf%284%29/buil...
>
> The Python typing error looks slightly weird though: "AddResults() takes
> at least 3 arguments (3 given)"
>
> I'm preparing a fix. I'm not unable to test media.media_cns_cases on my
> workstation though:
> $ ./tools/perf/run_benchmark --browser=release media.media_cns_cases
> TEST IS DISABLED. SKIPPING.
>
> Or can I exerce this code somehow with some unit tests that we would have?
>
>
> On Tue, Dec 10, 2013 at 4:13 PM, <commit-bot@chromium.org> wrote:
>
>> Change committed as 239784
>>
>> https://codereview.chromium.org/91573003/
>>
>
>

To unsubscribe from this group and stop receiving emails from it, send an email
to chromium-reviews+unsubscribe@chromium.org.

Powered by Google App Engine
This is Rietveld 408576698