OLD | NEW |
1 # Copyright 2012 The Chromium Authors. All rights reserved. | 1 # Copyright 2012 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 """Runs spaceport.io's PerfMarks benchmark.""" | 5 """Runs spaceport.io's PerfMarks benchmark.""" |
6 | 6 |
7 import logging | 7 import logging |
8 import os | 8 import os |
9 | 9 |
10 from telemetry import benchmark | 10 from telemetry import benchmark |
11 from telemetry.core import util | 11 from telemetry.core import util |
12 from telemetry.page import page_measurement | 12 from telemetry.page import page_measurement |
13 from telemetry.page import page_set | 13 from telemetry.page import page_set |
| 14 from telemetry.value import list_of_scalar_values |
| 15 from telemetry.value import scalar |
14 | 16 |
15 | 17 |
16 class _SpaceportMeasurement(page_measurement.PageMeasurement): | 18 class _SpaceportMeasurement(page_measurement.PageMeasurement): |
17 def __init__(self): | 19 def __init__(self): |
18 super(_SpaceportMeasurement, self).__init__() | 20 super(_SpaceportMeasurement, self).__init__() |
19 | 21 |
20 def CustomizeBrowserOptions(self, options): | 22 def CustomizeBrowserOptions(self, options): |
21 options.AppendExtraBrowserArgs('--disable-gpu-vsync') | 23 options.AppendExtraBrowserArgs('--disable-gpu-vsync') |
22 | 24 |
23 def MeasurePage(self, page, tab, results): | 25 def MeasurePage(self, page, tab, results): |
(...skipping 18 matching lines...) Expand all Loading... |
42 'Object.keys(window.__results).length > %d' % num_results, 180) | 44 'Object.keys(window.__results).length > %d' % num_results, 180) |
43 num_results = tab.EvaluateJavaScript( | 45 num_results = tab.EvaluateJavaScript( |
44 'Object.keys(window.__results).length') | 46 'Object.keys(window.__results).length') |
45 logging.info('Completed test %d of %d' % | 47 logging.info('Completed test %d of %d' % |
46 (num_results, num_tests_in_spaceport)) | 48 (num_results, num_tests_in_spaceport)) |
47 | 49 |
48 result_dict = eval(tab.EvaluateJavaScript( | 50 result_dict = eval(tab.EvaluateJavaScript( |
49 'JSON.stringify(window.__results)')) | 51 'JSON.stringify(window.__results)')) |
50 for key in result_dict: | 52 for key in result_dict: |
51 chart, trace = key.split('.', 1) | 53 chart, trace = key.split('.', 1) |
52 results.Add(trace, 'objects (bigger is better)', float(result_dict[key]), | 54 results.AddValue(scalar.ScalarValue( |
53 chart_name=chart, data_type='unimportant') | 55 results.current_page, '%s.%s'% (chart, trace), |
54 results.Add('Score', 'objects (bigger is better)', | 56 'objects (bigger is better)', float(result_dict[key]), |
55 [float(x) for x in result_dict.values()]) | 57 important=False)) |
| 58 results.AddValue(list_of_scalar_values.ListOfScalarValues( |
| 59 results.current_page, 'Score', 'objects (bigger is better)', |
| 60 [float(x) for x in result_dict.values()])) |
56 | 61 |
57 | 62 |
58 # crbug.com/166703: This test frequently times out on Windows. | 63 # crbug.com/166703: This test frequently times out on Windows. |
59 @benchmark.Disabled('mac', 'win') | 64 @benchmark.Disabled('mac', 'win') |
60 class Spaceport(benchmark.Benchmark): | 65 class Spaceport(benchmark.Benchmark): |
61 """spaceport.io's PerfMarks benchmark.""" | 66 """spaceport.io's PerfMarks benchmark.""" |
62 test = _SpaceportMeasurement | 67 test = _SpaceportMeasurement |
63 | 68 |
64 def CreatePageSet(self, options): | 69 def CreatePageSet(self, options): |
65 spaceport_dir = os.path.join(util.GetChromiumSrcDir(), 'chrome', 'test', | 70 spaceport_dir = os.path.join(util.GetChromiumSrcDir(), 'chrome', 'test', |
66 'data', 'third_party', 'spaceport') | 71 'data', 'third_party', 'spaceport') |
67 ps = page_set.PageSet(file_path=spaceport_dir) | 72 ps = page_set.PageSet(file_path=spaceport_dir) |
68 ps.AddPageWithDefaultRunNavigate('file://index.html') | 73 ps.AddPageWithDefaultRunNavigate('file://index.html') |
69 return ps | 74 return ps |
OLD | NEW |