New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 625657 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocked on:
issue 623015



Sign in to add a comment

Make most memory benchmarks reproducible, and some realistic

Project Member Reported by perezju@chromium.org, Jul 4 2016

Issue description

Main design doc and discussion: https://docs.google.com/a/google.com/document/d/1sa0u_-7P0r6ADPZX5cPh3VCpCMshWNVlwkgyBX5nY3E/edit?usp=sharing

Implementation proposal: https://docs.google.com/a/google.com/document/d/1mAXsOik83G5QSG8SKr0w-szkIzwH-6MQ-lZoIkPDzc4/edit?usp=sharing

We want to make most of our memory benchmarks *reproducible*, providing measurements with low noise levels. This means in particular:

- Switch default behavior of all benchmarks to restart browser between page set repeats (go/catabug/2294); this keeps measurements from different iterations statistically independent of each other.
- Tune the timing of events (e.g. waits, forced GCs, cache clearing) as to reduce noise levels.

This kind of reproducible benchmarks, however, would leave uncovered the case of memory leaks or crashes that only appear after a prolonged period of interaction for the browser. For this we also want to provide a *realistic* benchmark that:

- Runs for a long period of time (e.g. --pageset-repeat 60).
- Keeps the browser(s) open for the whole duration of the test.
- Does not do any forced GCs or cache clearing.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ec3a082e76e4cc16c3b1281cd20b7ba6105d65fe

commit ec3a082e76e4cc16c3b1281cd20b7ba6105d65fe
Author: perezju <perezju@chromium.org>
Date: Mon Jul 04 17:39:28 2016

[tools/perf] Add memory.top_10_mobile_stress benchmark

For reproducibility, soon we'll tear down the state between page
sets on all benchmarks by default at:
https://codereview.chromium.org/2099233002/
(also see attached bug for context)

This would leave uncovered the case of leaks and crashes in the browser
after prolonged use.

For that we plan to enable memory.long_running_dual_browser_test,
which runs for 60 iterations with no browser restarts, but is currently
blocked because it would produce too much data
(crbug.com/623015).

Thus, in the meantime, we add this "realistic" clone (no state tearing
down) of memory.top_10_mobile to keep some minimum of coverage.

BUG= 625657 
CQ_EXTRA_TRYBOTS=tryserver.chromium.perf:android_s5_perf_cq;tryserver.chromium.perf:mac_retina_perf_cq

Review-Url: https://codereview.chromium.org/2115393003
Cr-Commit-Position: refs/heads/master@{#403700}

[modify] https://crrev.com/ec3a082e76e4cc16c3b1281cd20b7ba6105d65fe/tools/perf/benchmarks/memory_infra.py

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 4 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ead84a83aec79a7f2bb471a5b1177a932f66fab

commit 7ead84a83aec79a7f2bb471a5b1177a932f66fab
Author: catapult-deps-roller <catapult-deps-roller@chromium.org>
Date: Thu Aug 04 16:27:29 2016

Roll src/third_party/catapult/ ae72aad91..ff42a341b (1 commit).

https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/ae72aad918e0..ff42a341b88b

$ git log ae72aad91..ff42a341b --date=short --no-merges --format='%ad %ae %s'

BUG= 625657 

TBR=catapult-sheriff@chromium.org

Review-Url: https://codereview.chromium.org/2209353002
Cr-Commit-Position: refs/heads/master@{#409801}

[modify] https://crrev.com/7ead84a83aec79a7f2bb471a5b1177a932f66fab/DEPS

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6f2b6d752f9994f123f8195f844d503cd262ec1b

commit 6f2b6d752f9994f123f8195f844d503cd262ec1b
Author: perezju <perezju@chromium.org>
Date: Mon Aug 08 13:19:14 2016

[tools/perf] Switch memory_top_10_mobile to action_runner.MeasureMemory

Switch the MemoryTop10Mobile page set to use action_runner.MeasureMemory
rather than rolling its own memory dumping code snippet. Also modifies
the benchamarks:

- memory.top_10_mobile - same behavior as before
- memory.top_10_mobile_stress - run the page set in "realistic" mode

Depends on: https://codereview.chromium.org/2123713005/

BUG= 625657 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.perf:android_s5_perf_cq;master.tryserver.chromium.perf:linux_perf_cq;master.tryserver.chromium.perf:mac_retina_perf_cq;master.tryserver.chromium.perf:winx64_10_perf_cq

Review-Url: https://codereview.chromium.org/2123713006
Cr-Commit-Position: refs/heads/master@{#410337}

[modify] https://crrev.com/6f2b6d752f9994f123f8195f844d503cd262ec1b/tools/perf/benchmarks/memory_infra.py
[modify] https://crrev.com/6f2b6d752f9994f123f8195f844d503cd262ec1b/tools/perf/page_sets/memory_top_10_mobile.py

Cc: -petrcermak@chromium.org
Cc: -petrcermak@chromium.org
Status: Fixed (was: Started)
I think all of this actually happened.

Sign in to add a comment