Commit 3afb7e7d authored by hjd's avatar hjd Committed by Commit bot

Stop bad results on first memory benchmark run

The first memory system-health story ran in a set has been reporting
memory use differently all subsequent runs. This is due to how we
flush the system caches.

Just before we measure memory we flush the system caches unfortunately
this doesn't immediately take effect, instead the next story run is
effected. Due to this the first story run has anomalous results.
This option causes us to flush caches each time before Chrome starts
so we effect even the first story - avoiding the bug.

*************** Note to Perf Sheriff ****************

Regressions across several memory metrics are
expected for system_health.memory_mobile,
system_health.memory_desktop and memory.top10_mobile
as we stop under counting memory use.

*****************************************************

BUG=chromium:671156
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.perf:linux_perf_cq;master.tryserver.chromium.perf:mac_retina_perf_cq

Review-Url: https://codereview.chromium.org/2589173004
Cr-Commit-Position: refs/heads/master@{#443273}
parent ffa98250
......@@ -41,6 +41,15 @@ class _MemoryInfra(perf_benchmark.PerfBenchmark):
chrome_trace_config.MemoryDumpConfig())
return tbm_options
def SetExtraBrowserOptions(self, options):
# Just before we measure memory we flush the system caches
# unfortunately this doesn't immediately take effect, instead
# the next page run is effected. Due to this the first page run
# has anomalous results. This option causes us to flush caches
# each time before Chrome starts so we effect even the first page
# - avoiding the bug.
options.clear_sytem_cache_for_browser_and_profile_on_start = True
# TODO(bashi): Workaround for http://crbug.com/532075.
# @benchmark.Enabled('android') shouldn't be needed.
......
......@@ -105,6 +105,15 @@ class _MemorySystemHealthBenchmark(perf_benchmark.PerfBenchmark):
return page_sets.SystemHealthStorySet(platform=self.PLATFORM,
take_memory_measurement=True)
def SetExtraBrowserOptions(self, options):
# Just before we measure memory we flush the system caches
# unfortunately this doesn't immediately take effect, instead
# the next story run is effected. Due to this the first story run
# has anomalous results. This option causes us to flush caches
# each time before Chrome starts so we effect even the first story
# - avoiding the bug.
options.clear_sytem_cache_for_browser_and_profile_on_start = True
@classmethod
def ShouldTearDownStateAfterEachStoryRun(cls):
return True
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment