Chromium Code Reviews| Index: tools/perf/benchmarks/memory.py |
| diff --git a/tools/perf/benchmarks/memory.py b/tools/perf/benchmarks/memory.py |
| index bf214a3a41de03ba23759b32efbbfec4114d4ace..8d7ab5677076ee4fcaa731a290e1feacb84134a8 100644 |
| --- a/tools/perf/benchmarks/memory.py |
| +++ b/tools/perf/benchmarks/memory.py |
| @@ -8,6 +8,10 @@ from measurements import memory |
| import page_sets |
| from telemetry import benchmark |
| +from telemetry.timeline import tracing_category_filter |
| +from telemetry.web_perf import timeline_based_measurement |
| +from telemetry.web_perf.metrics import v8_gc_latency |
| +from telemetry.web_perf.metrics import memory_timeline |
| @benchmark.Disabled('all') # crbug.com/581147 |
| class MemoryMobile(perf_benchmark.PerfBenchmark): |
| @@ -38,16 +42,50 @@ class MemoryTop7Stress(perf_benchmark.PerfBenchmark): |
| return cls.IsSvelte(possible_browser) # http://crbug.com/555092 |
| -class MemoryLongRunningIdleGmail(perf_benchmark.PerfBenchmark): |
| +# Disabled on reference builds because they don't support the new |
| +# Tracing.requestMemoryDump DevTools API. See http://crbug.com/540022. |
| +@benchmark.Disabled('reference', 'android') # crbug.com/579546 |
| +class MemoryLongRunningIdleGmailTBM(perf_benchmark.PerfBenchmark): |
| """Use (recorded) real world web sites and measure memory consumption |
| of long running idle Gmail page """ |
| - test = memory.Memory |
| page_set = page_sets.LongRunningIdleGmailPageSet |
| + def SetExtraBrowserOptions(self, options): |
| + options.AppendExtraBrowserArgs([ |
| + # TODO(perezju): Temporary workaround to disable periodic memory dumps. |
| + # See: http://crbug.com/513692 |
| + '--enable-memory-benchmarking', |
| + ]) |
| + |
| + def CreateTimelineBasedMeasurementOptions(self): |
| + v8_categories = [ |
| + 'blink.console', 'renderer.scheduler', 'v8', 'webkit.console'] |
| + memory_categories = 'blink.console,disabled-by-default-memory-infra' |
| + category_filter = tracing_category_filter.TracingCategoryFilter( |
| + memory_categories) |
| + for category in v8_categories: |
| + category_filter.AddIncludedCategory(category) |
| + options = timeline_based_measurement.Options(category_filter) |
| + options.SetLegacyTimelineBasedMetrics([ |
| + v8_gc_latency.V8GCLatency(), |
| + memory_timeline.MemoryTimelineMetric()]) |
| + return options |
| + |
| @classmethod |
| def Name(cls): |
| - return 'memory.long_running_idle_gmail' |
| + return 'memory.long_running_idle_gmail_tbm' |
| + @classmethod |
| + def ValueCanBeAddedPredicate(cls, value, is_first_result): |
|
eakuefner
2016/03/08 18:13:44
Why do you do this filtration? Can you just remove
|
| + if value.tir_label in ['Begin', 'End']: |
| + return (value.name.startswith('memory_') and |
| + 'v8_renderer' in value.name) |
| + else: |
| + return value.tir_label == 'Idle' |
| + |
| + @classmethod |
| + def ShouldTearDownStateAfterEachStoryRun(cls): |
| + return True |
| @benchmark.Disabled('android') # crbug.com/542682 |
| class MemoryLongRunningIdleGmailBackground(perf_benchmark.PerfBenchmark): |