| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 benchmarks import v8_helper | 7 from benchmarks import v8_helper |
| 8 from core import perf_benchmark | 8 from core import perf_benchmark |
| 9 from telemetry import benchmark | 9 from telemetry import benchmark |
| 10 from telemetry.timeline import chrome_trace_config | 10 from telemetry.timeline import chrome_trace_config |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 memory_dump_config = chrome_trace_config.MemoryDumpConfig() | 61 memory_dump_config = chrome_trace_config.MemoryDumpConfig() |
| 62 memory_dump_config.AddTrigger('light', 1000) | 62 memory_dump_config.AddTrigger('light', 1000) |
| 63 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) | 63 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) |
| 64 options.SetTimelineBasedMetrics(['v8AndMemoryMetrics']) | 64 options.SetTimelineBasedMetrics(['v8AndMemoryMetrics']) |
| 65 return options | 65 return options |
| 66 | 66 |
| 67 def CreateStorySet(self, options): | 67 def CreateStorySet(self, options): |
| 68 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, case='browse') | 68 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, case='browse') |
| 69 | 69 |
| 70 @classmethod | 70 @classmethod |
| 71 def Name(cls): | |
| 72 return 'v8.browsing_%s%s' % (cls.PLATFORM, cls.TEST_SUFFIX) | |
| 73 | |
| 74 @classmethod | |
| 75 def ValueCanBeAddedPredicate(cls, value, is_first_result): | 71 def ValueCanBeAddedPredicate(cls, value, is_first_result): |
| 76 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard | 72 # TODO(crbug.com/610962): Remove this stopgap when the perf dashboard |
| 77 # is able to cope with the data load generated by TBMv2 metrics. | 73 # is able to cope with the data load generated by TBMv2 metrics. |
| 78 if 'memory:chrome' in value.name: | 74 if 'memory:chrome' in value.name: |
| 79 return ('renderer_processes' in value.name and | 75 return ('renderer_processes' in value.name and |
| 80 not _IGNORED_MEMORY_STATS_RE.search(value.name)) | 76 not _IGNORED_MEMORY_STATS_RE.search(value.name)) |
| 81 if 'v8-gc' in value.name: | 77 if 'v8-gc' in value.name: |
| 82 return (_V8_GC_HIGH_LEVEL_STATS_RE.search(value.name) and | 78 return (_V8_GC_HIGH_LEVEL_STATS_RE.search(value.name) and |
| 83 not _IGNORED_V8_STATS_RE.search(value.name)) | 79 not _IGNORED_V8_STATS_RE.search(value.name)) |
| 84 # Allow all other non-GC metrics. | 80 # Allow all other non-GC metrics. |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 memory_dump_config.AddTrigger('light', 1000) | 118 memory_dump_config.AddTrigger('light', 1000) |
| 123 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) | 119 options.config.chrome_trace_config.SetMemoryDumpConfig(memory_dump_config) |
| 124 | 120 |
| 125 options.SetTimelineBasedMetrics(['runtimeStatsTotalMetric', 'gcMetric']) | 121 options.SetTimelineBasedMetrics(['runtimeStatsTotalMetric', 'gcMetric']) |
| 126 return options | 122 return options |
| 127 | 123 |
| 128 def CreateStorySet(self, options): | 124 def CreateStorySet(self, options): |
| 129 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, case='browse') | 125 return page_sets.SystemHealthStorySet(platform=self.PLATFORM, case='browse') |
| 130 | 126 |
| 131 @classmethod | 127 @classmethod |
| 132 def Name(cls): | |
| 133 return 'v8.runtimestats.browsing_%s%s' % (cls.PLATFORM, cls.TEST_SUFFIX) | |
| 134 | |
| 135 @classmethod | |
| 136 def ShouldTearDownStateAfterEachStoryRun(cls): | 128 def ShouldTearDownStateAfterEachStoryRun(cls): |
| 137 return True | 129 return True |
| 138 | 130 |
| 139 | 131 |
| 140 class _V8DesktopBrowsingBenchmark(_V8BrowsingBenchmark): | 132 class _V8DesktopBrowsingBenchmark(_V8BrowsingBenchmark): |
| 141 | 133 |
| 142 @classmethod | 134 @classmethod |
| 143 def ShouldDisable(cls, possible_browser): | 135 def ShouldDisable(cls, possible_browser): |
| 144 # http://crbug.com/628736 | 136 # http://crbug.com/628736 |
| 145 if (possible_browser.platform.GetOSName() == 'mac' and | 137 if (possible_browser.platform.GetOSName() == 'mac' and |
| 146 possible_browser.browser_type == 'reference'): | 138 possible_browser.browser_type == 'reference'): |
| 147 return True | 139 return True |
| 148 | 140 |
| 149 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' | 141 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' |
| 150 | 142 |
| 151 | 143 |
| 152 class _V8MobileBrowsingBenchmark(_V8BrowsingBenchmark): | 144 class _V8MobileBrowsingBenchmark(_V8BrowsingBenchmark): |
| 153 | 145 |
| 154 @classmethod | 146 @classmethod |
| 155 def ShouldDisable(cls, possible_browser): | 147 def ShouldDisable(cls, possible_browser): |
| 156 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' | 148 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' |
| 157 | 149 |
| 158 | 150 |
| 159 @benchmark.Owner(emails=['ulan@chromium.org']) | 151 @benchmark.Owner(emails=['ulan@chromium.org']) |
| 160 class V8DesktopBrowsingBenchmark(_V8DesktopBrowsingBenchmark): | 152 class V8DesktopBrowsingBenchmark(_V8DesktopBrowsingBenchmark): |
| 161 PLATFORM = 'desktop' | 153 PLATFORM = 'desktop' |
| 162 TEST_SUFFIX = '' | 154 |
| 155 @classmethod |
| 156 def Name(cls): |
| 157 return 'v8.browsing_desktop' |
| 163 | 158 |
| 164 | 159 |
| 165 @benchmark.Owner(emails=['ulan@chromium.org']) | 160 @benchmark.Owner(emails=['ulan@chromium.org']) |
| 166 @benchmark.Disabled('reference') # http://crbug.com/628631 | 161 @benchmark.Disabled('reference') # http://crbug.com/628631 |
| 167 class V8MobileBrowsingBenchmark(_V8MobileBrowsingBenchmark): | 162 class V8MobileBrowsingBenchmark(_V8MobileBrowsingBenchmark): |
| 168 PLATFORM = 'mobile' | 163 PLATFORM = 'mobile' |
| 169 TEST_SUFFIX = '' | 164 |
| 165 @classmethod |
| 166 def Name(cls): |
| 167 return 'v8.browsing_mobile' |
| 170 | 168 |
| 171 | 169 |
| 172 @benchmark.Disabled('reference') # http://crbug.com/700390 | 170 @benchmark.Disabled('reference') # http://crbug.com/700390 |
| 173 @benchmark.Disabled('all') | 171 @benchmark.Disabled('all') |
| 174 @benchmark.Owner(emails=['mvstaton@chromium.org']) | 172 @benchmark.Owner(emails=['mvstaton@chromium.org']) |
| 175 class V8DesktopTurboBrowsingBenchmark(_V8DesktopBrowsingBenchmark): | 173 class V8DesktopTurboBrowsingBenchmark(_V8DesktopBrowsingBenchmark): |
| 176 PLATFORM = 'desktop' | 174 PLATFORM = 'desktop' |
| 177 TEST_SUFFIX = '_turbo' | |
| 178 | 175 |
| 179 def SetExtraBrowserOptions(self, options): | 176 def SetExtraBrowserOptions(self, options): |
| 180 super(V8DesktopTurboBrowsingBenchmark, self).SetExtraBrowserOptions( | 177 super(V8DesktopTurboBrowsingBenchmark, self).SetExtraBrowserOptions( |
| 181 options) | 178 options) |
| 182 v8_helper.EnableTurbo(options) | 179 v8_helper.EnableTurbo(options) |
| 183 | 180 |
| 181 @classmethod |
| 182 def Name(cls): |
| 183 return 'v8.browsing_desktop_turbo' |
| 184 |
| 185 |
| 184 | 186 |
| 185 @benchmark.Disabled('reference') # http://crbug.com/628631 | 187 @benchmark.Disabled('reference') # http://crbug.com/628631 |
| 186 @benchmark.Disabled('all') | 188 @benchmark.Disabled('all') |
| 187 @benchmark.Owner(emails=['mvstaton@chromium.org']) | 189 @benchmark.Owner(emails=['mvstaton@chromium.org']) |
| 188 class V8MobileTurboBrowsingBenchmark(_V8MobileBrowsingBenchmark): | 190 class V8MobileTurboBrowsingBenchmark(_V8MobileBrowsingBenchmark): |
| 189 PLATFORM = 'mobile' | 191 PLATFORM = 'mobile' |
| 190 TEST_SUFFIX = '_turbo' | |
| 191 | 192 |
| 192 def SetExtraBrowserOptions(self, options): | 193 def SetExtraBrowserOptions(self, options): |
| 193 super(V8MobileTurboBrowsingBenchmark, self).SetExtraBrowserOptions( | 194 super(V8MobileTurboBrowsingBenchmark, self).SetExtraBrowserOptions( |
| 194 options) | 195 options) |
| 195 v8_helper.EnableTurbo(options) | 196 v8_helper.EnableTurbo(options) |
| 196 | 197 |
| 198 @classmethod |
| 199 def Name(cls): |
| 200 return 'v8.browsing_mobile_turbo' |
| 201 |
| 197 | 202 |
| 198 @benchmark.Disabled('reference') # http://crbug.com/700390 | 203 @benchmark.Disabled('reference') # http://crbug.com/700390 |
| 199 @benchmark.Owner(emails=['hablich@chromium.org']) | 204 @benchmark.Owner(emails=['hablich@chromium.org']) |
| 200 class V8DesktopClassicBrowsingBenchmark(_V8DesktopBrowsingBenchmark): | 205 class V8DesktopClassicBrowsingBenchmark(_V8DesktopBrowsingBenchmark): |
| 201 PLATFORM = 'desktop' | 206 PLATFORM = 'desktop' |
| 202 TEST_SUFFIX = '_classic' | |
| 203 | 207 |
| 204 def SetExtraBrowserOptions(self, options): | 208 def SetExtraBrowserOptions(self, options): |
| 205 super(V8DesktopClassicBrowsingBenchmark, self).SetExtraBrowserOptions( | 209 super(V8DesktopClassicBrowsingBenchmark, self).SetExtraBrowserOptions( |
| 206 options) | 210 options) |
| 207 v8_helper.EnableClassic(options) | 211 v8_helper.EnableClassic(options) |
| 208 | 212 |
| 213 @classmethod |
| 214 def Name(cls): |
| 215 return 'v8.browsing_desktop_classic' |
| 216 |
| 209 | 217 |
| 210 @benchmark.Disabled('reference') # http://crbug.com/628631 | 218 @benchmark.Disabled('reference') # http://crbug.com/628631 |
| 211 @benchmark.Owner(emails=['hablich@chromium.org']) | 219 @benchmark.Owner(emails=['hablich@chromium.org']) |
| 212 class V8MobileClassicBrowsingBenchmark(_V8MobileBrowsingBenchmark): | 220 class V8MobileClassicBrowsingBenchmark(_V8MobileBrowsingBenchmark): |
| 213 PLATFORM = 'mobile' | 221 PLATFORM = 'mobile' |
| 214 TEST_SUFFIX = '_classic' | |
| 215 | 222 |
| 216 def SetExtraBrowserOptions(self, options): | 223 def SetExtraBrowserOptions(self, options): |
| 217 super(V8MobileClassicBrowsingBenchmark, self).SetExtraBrowserOptions( | 224 super(V8MobileClassicBrowsingBenchmark, self).SetExtraBrowserOptions( |
| 218 options) | 225 options) |
| 219 v8_helper.EnableClassic(options) | 226 v8_helper.EnableClassic(options) |
| 220 | 227 |
| 228 @classmethod |
| 229 def Name(cls): |
| 230 return 'v8.browsing_mobile_classic' |
| 231 |
| 221 | 232 |
| 222 @benchmark.Owner(emails=['mythria@chromium.org']) | 233 @benchmark.Owner(emails=['mythria@chromium.org']) |
| 223 class V8RuntimeStatsDesktopBrowsingBenchmark( | 234 class V8RuntimeStatsDesktopBrowsingBenchmark( |
| 224 _V8RuntimeStatsBrowsingBenchmark): | 235 _V8RuntimeStatsBrowsingBenchmark): |
| 225 PLATFORM = 'desktop' | 236 PLATFORM = 'desktop' |
| 226 TEST_SUFFIX = '' | |
| 227 | 237 |
| 228 @classmethod | 238 @classmethod |
| 229 def ShouldDisable(cls, possible_browser): | 239 def ShouldDisable(cls, possible_browser): |
| 230 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' | 240 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' |
| 231 | 241 |
| 242 @classmethod |
| 243 def Name(cls): |
| 244 return 'v8.runtimestats.browsing_desktop' |
| 245 |
| 232 | 246 |
| 233 @benchmark.Disabled('reference') # http://crbug.com/700390 | 247 @benchmark.Disabled('reference') # http://crbug.com/700390 |
| 234 @benchmark.Disabled('all') | 248 @benchmark.Disabled('all') |
| 235 @benchmark.Owner(emails=['mythria@chromium.org']) | 249 @benchmark.Owner(emails=['mythria@chromium.org']) |
| 236 class V8RuntimeStatsDesktopTurboBrowsingBenchmark( | 250 class V8RuntimeStatsDesktopTurboBrowsingBenchmark( |
| 237 _V8RuntimeStatsBrowsingBenchmark): | 251 _V8RuntimeStatsBrowsingBenchmark): |
| 238 PLATFORM = 'desktop' | 252 PLATFORM = 'desktop' |
| 239 TEST_SUFFIX = '_turbo' | |
| 240 | 253 |
| 241 def SetExtraBrowserOptions(self, options): | 254 def SetExtraBrowserOptions(self, options): |
| 242 super(V8RuntimeStatsDesktopTurboBrowsingBenchmark, | 255 super(V8RuntimeStatsDesktopTurboBrowsingBenchmark, |
| 243 self).SetExtraBrowserOptions(options) | 256 self).SetExtraBrowserOptions(options) |
| 244 v8_helper.EnableTurbo(options) | 257 v8_helper.EnableTurbo(options) |
| 245 | 258 |
| 246 @classmethod | 259 @classmethod |
| 247 def ShouldDisable(cls, possible_browser): | 260 def ShouldDisable(cls, possible_browser): |
| 248 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' | 261 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' |
| 249 | 262 |
| 263 @classmethod |
| 264 def Name(cls): |
| 265 return 'v8.runtimestats.browsing_desktop_turbo' |
| 266 |
| 250 | 267 |
| 251 @benchmark.Disabled('reference') # http://crbug.com/700390 | 268 @benchmark.Disabled('reference') # http://crbug.com/700390 |
| 252 @benchmark.Owner(emails=['hablich@chromium.org']) | 269 @benchmark.Owner(emails=['hablich@chromium.org']) |
| 253 class V8RuntimeStatsDesktopClassicBrowsingBenchmark( | 270 class V8RuntimeStatsDesktopClassicBrowsingBenchmark( |
| 254 _V8RuntimeStatsBrowsingBenchmark): | 271 _V8RuntimeStatsBrowsingBenchmark): |
| 255 PLATFORM = 'desktop' | 272 PLATFORM = 'desktop' |
| 256 TEST_SUFFIX = '_classic' | |
| 257 | 273 |
| 258 def SetExtraBrowserOptions(self, options): | 274 def SetExtraBrowserOptions(self, options): |
| 259 super(V8RuntimeStatsDesktopClassicBrowsingBenchmark, | 275 super(V8RuntimeStatsDesktopClassicBrowsingBenchmark, |
| 260 self).SetExtraBrowserOptions(options) | 276 self).SetExtraBrowserOptions(options) |
| 261 v8_helper.EnableClassic(options) | 277 v8_helper.EnableClassic(options) |
| 262 | 278 |
| 263 @classmethod | 279 @classmethod |
| 264 def ShouldDisable(cls, possible_browser): | 280 def ShouldDisable(cls, possible_browser): |
| 265 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' | 281 return possible_browser.platform.GetDeviceTypeName() != 'Desktop' |
| 266 | 282 |
| 283 @classmethod |
| 284 def Name(cls): |
| 285 return 'v8.runtimestats.browsing_desktop_classic' |
| 286 |
| 287 |
| 267 | 288 |
| 268 @benchmark.Disabled('reference') # http://crbug.com/694658 | 289 @benchmark.Disabled('reference') # http://crbug.com/694658 |
| 269 @benchmark.Owner(emails=['mythria@chromium.org']) | 290 @benchmark.Owner(emails=['mythria@chromium.org']) |
| 270 class V8RuntimeStatsMobileBrowsingBenchmark( | 291 class V8RuntimeStatsMobileBrowsingBenchmark( |
| 271 _V8RuntimeStatsBrowsingBenchmark): | 292 _V8RuntimeStatsBrowsingBenchmark): |
| 272 PLATFORM = 'mobile' | 293 PLATFORM = 'mobile' |
| 273 TEST_SUFFIX = '' | |
| 274 | 294 |
| 275 @classmethod | 295 @classmethod |
| 276 def ShouldDisable(cls, possible_browser): | 296 def ShouldDisable(cls, possible_browser): |
| 277 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' | 297 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' |
| 278 | 298 |
| 299 @classmethod |
| 300 def Name(cls): |
| 301 return 'v8.runtimestats.browsing_mobile' |
| 302 |
| 279 | 303 |
| 280 @benchmark.Disabled('reference') # http://crbug.com/694658 | 304 @benchmark.Disabled('reference') # http://crbug.com/694658 |
| 281 @benchmark.Disabled('all') | 305 @benchmark.Disabled('all') |
| 282 @benchmark.Owner(emails=['mythria@chromium.org']) | 306 @benchmark.Owner(emails=['mythria@chromium.org']) |
| 283 class V8RuntimeStatsMobileTurboBrowsingBenchmark( | 307 class V8RuntimeStatsMobileTurboBrowsingBenchmark( |
| 284 _V8RuntimeStatsBrowsingBenchmark): | 308 _V8RuntimeStatsBrowsingBenchmark): |
| 285 PLATFORM = 'mobile' | 309 PLATFORM = 'mobile' |
| 286 TEST_SUFFIX = '_turbo' | |
| 287 | 310 |
| 288 def SetExtraBrowserOptions(self, options): | 311 def SetExtraBrowserOptions(self, options): |
| 289 super(V8RuntimeStatsMobileTurboBrowsingBenchmark, | 312 super(V8RuntimeStatsMobileTurboBrowsingBenchmark, |
| 290 self).SetExtraBrowserOptions(options) | 313 self).SetExtraBrowserOptions(options) |
| 291 v8_helper.EnableTurbo(options) | 314 v8_helper.EnableTurbo(options) |
| 292 | 315 |
| 293 @classmethod | 316 @classmethod |
| 294 def ShouldDisable(cls, possible_browser): | 317 def ShouldDisable(cls, possible_browser): |
| 295 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' | 318 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' |
| 296 | 319 |
| 320 @classmethod |
| 321 def Name(cls): |
| 322 return 'v8.runtimestats.browsing_mobile_turbo' |
| 323 |
| 297 | 324 |
| 298 @benchmark.Disabled('reference') # http://crbug.com/694658 | 325 @benchmark.Disabled('reference') # http://crbug.com/694658 |
| 299 @benchmark.Owner(emails=['hablich@chromium.org']) | 326 @benchmark.Owner(emails=['hablich@chromium.org']) |
| 300 class V8RuntimeStatsMobileClassicBrowsingBenchmark( | 327 class V8RuntimeStatsMobileClassicBrowsingBenchmark( |
| 301 _V8RuntimeStatsBrowsingBenchmark): | 328 _V8RuntimeStatsBrowsingBenchmark): |
| 302 PLATFORM = 'mobile' | 329 PLATFORM = 'mobile' |
| 303 TEST_SUFFIX = '_classic' | |
| 304 | 330 |
| 305 def SetExtraBrowserOptions(self, options): | 331 def SetExtraBrowserOptions(self, options): |
| 306 super(V8RuntimeStatsMobileClassicBrowsingBenchmark, | 332 super(V8RuntimeStatsMobileClassicBrowsingBenchmark, |
| 307 self).SetExtraBrowserOptions(options) | 333 self).SetExtraBrowserOptions(options) |
| 308 v8_helper.EnableClassic(options) | 334 v8_helper.EnableClassic(options) |
| 309 | 335 |
| 310 @classmethod | 336 @classmethod |
| 311 def ShouldDisable(cls, possible_browser): | 337 def ShouldDisable(cls, possible_browser): |
| 312 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' | 338 return possible_browser.platform.GetDeviceTypeName() == 'Desktop' |
| 339 |
| 340 @classmethod |
| 341 def Name(cls): |
| 342 return 'v8.runtimestats.browsing_mobile_classic' |
| OLD | NEW |