OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 math | 5 import math |
6 import os | 6 import os |
7 | 7 |
8 from metrics import power | 8 from metrics import power |
9 from telemetry import benchmark | 9 from telemetry import benchmark |
10 from telemetry.page import page_measurement | 10 from telemetry.page import page_measurement |
11 from telemetry.page import page_set | 11 from telemetry.page import page_set |
| 12 from telemetry.value import scalar |
12 | 13 |
13 | 14 |
14 class _DromaeoMeasurement(page_measurement.PageMeasurement): | 15 class _DromaeoMeasurement(page_measurement.PageMeasurement): |
15 def __init__(self): | 16 def __init__(self): |
16 super(_DromaeoMeasurement, self).__init__() | 17 super(_DromaeoMeasurement, self).__init__() |
17 self._power_metric = None | 18 self._power_metric = None |
18 | 19 |
19 def CustomizeBrowserOptions(self, options): | 20 def CustomizeBrowserOptions(self, options): |
20 power.PowerMetric.CustomizeBrowserOptions(options) | 21 power.PowerMetric.CustomizeBrowserOptions(options) |
21 | 22 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 return k | 65 return k |
65 | 66 |
66 def AggregateData(container, key, value): | 67 def AggregateData(container, key, value): |
67 if key not in container: | 68 if key not in container: |
68 container[key] = {'count': 0, 'sum': 0} | 69 container[key] = {'count': 0, 'sum': 0} |
69 container[key]['count'] += 1 | 70 container[key]['count'] += 1 |
70 container[key]['sum'] += math.log(value) | 71 container[key]['sum'] += math.log(value) |
71 | 72 |
72 suffix = page.url[page.url.index('?') + 1 :] | 73 suffix = page.url[page.url.index('?') + 1 :] |
73 def AddResult(name, value): | 74 def AddResult(name, value): |
74 data_type = 'unimportant' | 75 important = False |
75 if name == suffix: | 76 if name == suffix: |
76 data_type = 'default' | 77 important = True |
77 | 78 results.AddValue(scalar.ScalarValue( |
78 results.Add(Escape(name), 'runs/s', value, data_type=data_type) | 79 results.current_page, Escape(name), 'runs/s', value, important)) |
79 | 80 |
80 aggregated = {} | 81 aggregated = {} |
81 for data in score: | 82 for data in score: |
82 AddResult('%s/%s' % (data['collection'], data['name']), | 83 AddResult('%s/%s' % (data['collection'], data['name']), |
83 data['mean']) | 84 data['mean']) |
84 | 85 |
85 top_name = data['collection'].split('-', 1)[0] | 86 top_name = data['collection'].split('-', 1)[0] |
86 AggregateData(aggregated, top_name, data['mean']) | 87 AggregateData(aggregated, top_name, data['mean']) |
87 | 88 |
88 collection_name = data['collection'] | 89 collection_name = data['collection'] |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 """Dromaeo JSLib traverse prototype JavaScript benchmark""" | 196 """Dromaeo JSLib traverse prototype JavaScript benchmark""" |
196 tag = 'jslibtraverseprototype' | 197 tag = 'jslibtraverseprototype' |
197 query_param = 'jslib-traverse-prototype' | 198 query_param = 'jslib-traverse-prototype' |
198 | 199 |
199 | 200 |
200 class DromaeoCSSQueryJquery(_DromaeoBenchmark): | 201 class DromaeoCSSQueryJquery(_DromaeoBenchmark): |
201 """Dromaeo CSS Query jquery JavaScript benchmark""" | 202 """Dromaeo CSS Query jquery JavaScript benchmark""" |
202 tag = 'cssqueryjquery' | 203 tag = 'cssqueryjquery' |
203 query_param = 'cssquery-jquery' | 204 query_param = 'cssquery-jquery' |
204 | 205 |
OLD | NEW |