Index: tools/perf/contrib/memory_long_running/memory_long_running.py |
diff --git a/tools/perf/contrib/memory_long_running/memory_long_running.py b/tools/perf/contrib/memory_long_running/memory_long_running.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e33f751e800098c9b08e43288ac58568cf7613ce |
--- /dev/null |
+++ b/tools/perf/contrib/memory_long_running/memory_long_running.py |
@@ -0,0 +1,38 @@ |
+# Copyright 2015 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+from benchmarks import memory |
+import page_sets |
+ |
+from telemetry import benchmark |
+ |
+ |
+# pylint: disable=protected-access |
+@benchmark.Owner(emails=['perezju@chromium.org']) |
+class LongRunningDualBrowserBenchmark(memory._MemoryInfra): |
+ """Measures memory during prolonged usage of alternating browsers. |
+ |
+ Same as memory.dual_browser_test, but the test is run for 60 iterations |
+ and the browser is *not* restarted between page set repeats. |
+ """ |
+ page_set = page_sets.DualBrowserStorySet |
+ options = {'pageset_repeat': 60} |
+ |
+ @classmethod |
+ def Name(cls): |
+ return 'memory.long_running_dual_browser_test' |
+ |
+ @classmethod |
+ def ShouldTearDownStateAfterEachStoryRun(cls): |
+ return False |
+ |
+ @classmethod |
+ def ShouldTearDownStateAfterEachStorySetRun(cls): |
+ return False |
+ |
+ @classmethod |
+ def ValueCanBeAddedPredicate(cls, value, is_first_result): |
+ # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard |
+ # is able to cope with the data load generated by TBMv2 metrics. |
+ return not memory._IGNORED_STATS_RE.search(value.name) |