Index: tools/perf/benchmarks/memory_infra.py |
diff --git a/tools/perf/benchmarks/memory_infra.py b/tools/perf/benchmarks/memory_infra.py |
index 40f09ad89e465ad4fa468da18a3ba623007c9e1e..7f31b0bec07665233b12269558d3e35b8f85e320 100644 |
--- a/tools/perf/benchmarks/memory_infra.py |
+++ b/tools/perf/benchmarks/memory_infra.py |
@@ -29,6 +29,15 @@ class _MemoryInfra(perf_benchmark.PerfBenchmark): |
'--enable-memory-benchmarking', |
]) |
+ |
+class _TBMv1MemoryInfra(_MemoryInfra): |
perezju
2016/04/25 09:03:49
As per the discussion in https://github.com/catapu
petrcermak
2016/04/25 10:00:35
Done.
perezju
2016/04/25 11:24:00
Awesome! Looks much better.
|
+ """Base class for memory benchmarks based on TBMv1 memory-infra. |
+ |
+ See |
+ third_party/catapult/telemetry/telemetry/web_perf/metrics/memory_timeline.py |
+ for more details about the Timeline Based Measurement v1 memory metric. |
+ """ |
+ |
def CreateTimelineBasedMeasurementOptions(self): |
# Enable only memory-infra, to get memory dumps, and blink.console, to get |
# the timeline markers used for mapping threads to tabs. |
@@ -49,10 +58,25 @@ class _MemoryInfra(perf_benchmark.PerfBenchmark): |
)) |
+class _TBMv2MemoryInfra(_MemoryInfra): |
+ """Base class for memory benchmarks based on TBMv2 memory-infra. |
+ |
+ See |
+ third_party/catapult/tracing/tracing/metrics/system_health/memory_metric.html |
+ for more details about the Timeline Based Measurement v2 memory metric. |
+ """ |
+ |
+ def CreateTimelineBasedMeasurementOptions(self): |
+ tbm_options = super( |
+ _TBMv2MemoryInfra, self).CreateTimelineBasedMeasurementOptions() |
+ tbm_options.SetTimelineBasedMetric('memoryMetric') |
+ return tbm_options |
+ |
+ |
# TODO(bashi): Workaround for http://crbug.com/532075 |
# @benchmark.Enabled('android') shouldn't be needed. |
@benchmark.Enabled('android') |
-class MemoryHealthQuick(_MemoryInfra): |
+class MemoryHealthQuick(_TBMv1MemoryInfra): |
"""Timeline based benchmark for the Memory Health Plan (1 iteration).""" |
page_set = page_sets.MemoryHealthStory |
@@ -78,10 +102,31 @@ class MemoryHealthPlan(MemoryHealthQuick): |
return 'memory.memory_health_plan' |
+@benchmark.Enabled('android') |
+class TBMv2MemoryHealthQuick(_TBMv2MemoryInfra): |
+ """Timeline based benchmark for the Memory Health Plan based on TBMv2. |
+ |
+ This is a temporary benchmark to compare the new TBMv2 memory metric |
+ (memory_metric.html) with the existing TBMv1 one (memory_timeline.py). Once |
+ all issues associated with the TBMv2 metric are resolved, all memory |
+ benchmarks (including the ones in this file) will switch to use it instead |
+ of the TBMv1 metric and this temporary benchmark will be removed. |
+ """ |
+ page_set = MemoryHealthQuick.page_set |
+ |
+ @classmethod |
+ def Name(cls): |
+ return MemoryHealthQuick.Name() + '_tbmv2' |
+ |
+ @classmethod |
+ def ShouldDisable(cls, possible_browser): |
+ return MemoryHealthQuick.ShouldDisable(possible_browser) |
+ |
+ |
# TODO(bashi): Workaround for http://crbug.com/532075 |
# @benchmark.Enabled('android') shouldn't be needed. |
@benchmark.Enabled('android') |
-class RendererMemoryBlinkMemoryMobile(_MemoryInfra): |
+class RendererMemoryBlinkMemoryMobile(_TBMv1MemoryInfra): |
"""Timeline based benchmark for measuring memory consumption on mobile |
sites on which blink's memory consumption is relatively high.""" |
@@ -110,7 +155,7 @@ class RendererMemoryBlinkMemoryMobile(_MemoryInfra): |
# Disabled on reference builds because they don't support the new |
# Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022. |
@benchmark.Disabled('reference') |
-class MemoryBenchmarkTop10Mobile(_MemoryInfra): |
+class MemoryBenchmarkTop10Mobile(_TBMv1MemoryInfra): |
"""Timeline based benchmark for measuring memory on top 10 mobile sites.""" |
page_set = page_sets.MemoryInfraTop10MobilePageSet |
@@ -125,7 +170,7 @@ class MemoryBenchmarkTop10Mobile(_MemoryInfra): |
# For 'reference' see http://crbug.com/540022. |
# For 'android' see http://crbug.com/579546. |
@benchmark.Disabled('reference', 'android') |
-class MemoryLongRunningIdleGmailTBM(_MemoryInfra): |
+class MemoryLongRunningIdleGmailTBM(_TBMv1MemoryInfra): |
"""Use (recorded) real world web sites and measure memory consumption |
of long running idle Gmail page """ |
page_set = page_sets.LongRunningIdleGmailPageSet |