| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import re | 5 import re |
| 6 | 6 |
| 7 from core import perf_benchmark | 7 from core import perf_benchmark |
| 8 | 8 |
| 9 from telemetry import benchmark | 9 from telemetry import benchmark |
| 10 from telemetry.timeline import tracing_category_filter | 10 from telemetry.timeline import tracing_category_filter |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 )) | 47 )) |
| 48 elif self.TBM_VERSION == 2: | 48 elif self.TBM_VERSION == 2: |
| 49 # TBMv2 (see tracing/tracing/metrics/system_health/memory_metric.html | 49 # TBMv2 (see tracing/tracing/metrics/system_health/memory_metric.html |
| 50 # in third_party/catapult). | 50 # in third_party/catapult). |
| 51 tbm_options.SetTimelineBasedMetric('memoryMetric') | 51 tbm_options.SetTimelineBasedMetric('memoryMetric') |
| 52 else: | 52 else: |
| 53 raise Exception('Unrecognized TBM version: %s' % self.TBM_VERSION) | 53 raise Exception('Unrecognized TBM version: %s' % self.TBM_VERSION) |
| 54 return tbm_options | 54 return tbm_options |
| 55 | 55 |
| 56 | 56 |
| 57 # TODO(bashi): Workaround for http://crbug.com/532075 | 57 # TODO(crbug.com/606361): Remove benchmark when replaced by the TBMv2 version. |
| 58 # @benchmark.Enabled('android') shouldn't be needed. | 58 @benchmark.Disabled('all') |
| 59 @benchmark.Enabled('android') | 59 class MemoryHealthPlan(_MemoryInfra): |
| 60 class MemoryHealthQuick(_MemoryInfra): | 60 """Timeline based benchmark for the Memory Health Plan.""" |
| 61 """Timeline based benchmark for the Memory Health Plan (1 iteration).""" | |
| 62 page_set = page_sets.MemoryHealthStory | 61 page_set = page_sets.MemoryHealthStory |
| 62 options = {'pageset_repeat': 5} |
| 63 | 63 |
| 64 @classmethod | 64 @classmethod |
| 65 def Name(cls): | 65 def Name(cls): |
| 66 return 'memory.memory_health_quick' | 66 return 'memory.memory_health_plan' |
| 67 | 67 |
| 68 @classmethod | 68 @classmethod |
| 69 def ShouldDisable(cls, possible_browser): | 69 def ShouldDisable(cls, possible_browser): |
| 70 # TODO(crbug.com/586148): Benchmark should not depend on DeskClock app. | 70 # TODO(crbug.com/586148): Benchmark should not depend on DeskClock app. |
| 71 return not possible_browser.platform.CanLaunchApplication( | 71 return not possible_browser.platform.CanLaunchApplication( |
| 72 'com.google.android.deskclock') | 72 'com.google.android.deskclock') |
| 73 | 73 |
| 74 | 74 |
| 75 # Benchmark is disabled by default because it takes too long to run. | |
| 76 @benchmark.Disabled('all') | |
| 77 class MemoryHealthPlan(MemoryHealthQuick): | |
| 78 """Timeline based benchmark for the Memory Health Plan (5 iterations).""" | |
| 79 options = {'pageset_repeat': 5} | |
| 80 | |
| 81 @classmethod | |
| 82 def Name(cls): | |
| 83 return 'memory.memory_health_plan' | |
| 84 | |
| 85 | |
| 86 @benchmark.Enabled('android') | 75 @benchmark.Enabled('android') |
| 87 class TBMv2MemoryBenchmarkTop10Mobile(MemoryHealthQuick): | 76 class TBMv2MemoryBenchmarkTop10Mobile(MemoryHealthPlan): |
| 88 """Timeline based benchmark for the Memory Health Plan based on TBMv2. | 77 """Timeline based benchmark for the Memory Health Plan based on TBMv2. |
| 89 | 78 |
| 90 This is a temporary benchmark to compare the new TBMv2 memory metric | 79 This is a temporary benchmark to compare the new TBMv2 memory metric |
| 91 (memory_metric.html) with the existing TBMv1 one (memory_timeline.py). Once | 80 (memory_metric.html) with the existing TBMv1 one (memory_timeline.py). Once |
| 92 all issues associated with the TBMv2 metric are resolved, all memory | 81 all issues associated with the TBMv2 metric are resolved, all memory |
| 93 benchmarks (including the ones in this file) will switch to use it instead | 82 benchmarks (including the ones in this file) will switch to use it instead |
| 94 of the TBMv1 metric and this temporary benchmark will be removed. See | 83 of the TBMv1 metric and this temporary benchmark will be removed. See |
| 95 crbug.com/60361. | 84 crbug.com/60361. |
| 96 """ | 85 """ |
| 97 TBM_VERSION = 2 | 86 TBM_VERSION = 2 |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 181 # For 'android' see http://crbug.com/579546. | 170 # For 'android' see http://crbug.com/579546. |
| 182 @benchmark.Disabled('reference', 'android') | 171 @benchmark.Disabled('reference', 'android') |
| 183 class MemoryLongRunningIdleGmailBackground(_MemoryV8Benchmark): | 172 class MemoryLongRunningIdleGmailBackground(_MemoryV8Benchmark): |
| 184 """Use (recorded) real world web sites and measure memory consumption | 173 """Use (recorded) real world web sites and measure memory consumption |
| 185 of long running idle Gmail page """ | 174 of long running idle Gmail page """ |
| 186 page_set = page_sets.LongRunningIdleGmailBackgroundPageSet | 175 page_set = page_sets.LongRunningIdleGmailBackgroundPageSet |
| 187 | 176 |
| 188 @classmethod | 177 @classmethod |
| 189 def Name(cls): | 178 def Name(cls): |
| 190 return 'memory.long_running_idle_gmail_background_tbmv2' | 179 return 'memory.long_running_idle_gmail_background_tbmv2' |
| OLD | NEW |