OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 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 json | 5 import json |
6 import math | 6 import math |
7 import os | 7 import os |
8 | 8 |
9 from telemetry import test | 9 from telemetry import test |
10 from telemetry.core import util | 10 from telemetry.core import util |
11 from telemetry.page import page_measurement | 11 from telemetry.page import page_measurement |
12 from telemetry.page import page_set | 12 from telemetry.page import page_set |
13 | 13 from telemetry.page import result_data_type |
14 | 14 |
15 def _GeometricMean(values): | 15 def _GeometricMean(values): |
16 """Compute a rounded geometric mean from an array of values.""" | 16 """Compute a rounded geometric mean from an array of values.""" |
17 if not values: | 17 if not values: |
18 return None | 18 return None |
19 # To avoid infinite value errors, make sure no value is less than 0.001. | 19 # To avoid infinite value errors, make sure no value is less than 0.001. |
20 new_values = [] | 20 new_values = [] |
21 for value in values: | 21 for value in values: |
22 if value > 0.001: | 22 if value > 0.001: |
23 new_values.append(value) | 23 new_values.append(value) |
(...skipping 20 matching lines...) Expand all Loading... |
44 try: | 44 try: |
45 def _IsDone(): | 45 def _IsDone(): |
46 return tab.GetCookieByName('__domperf_finished') == '1' | 46 return tab.GetCookieByName('__domperf_finished') == '1' |
47 util.WaitFor(_IsDone, 600, poll_interval=5) | 47 util.WaitFor(_IsDone, 600, poll_interval=5) |
48 | 48 |
49 data = json.loads(tab.EvaluateJavaScript('__domperf_result')) | 49 data = json.loads(tab.EvaluateJavaScript('__domperf_result')) |
50 for suite in data['BenchmarkSuites']: | 50 for suite in data['BenchmarkSuites']: |
51 # Skip benchmarks that we didn't actually run this time around. | 51 # Skip benchmarks that we didn't actually run this time around. |
52 if len(suite['Benchmarks']) or suite['score']: | 52 if len(suite['Benchmarks']) or suite['score']: |
53 results.Add(SCORE_TRACE_NAME, SCORE_UNIT, | 53 results.Add(SCORE_TRACE_NAME, SCORE_UNIT, |
54 suite['score'], suite['name'], 'unimportant') | 54 suite['score'], suite['name'], |
| 55 result_data_type.UNIMPORTANT) |
55 finally: | 56 finally: |
56 tab.EvaluateJavaScript('document.cookie = "__domperf_finished=0"') | 57 tab.EvaluateJavaScript('document.cookie = "__domperf_finished=0"') |
57 | 58 |
58 def DidRunTest(self, tab, results): | 59 def DidRunTest(self, tab, results): |
59 # Now give the geometric mean as the total for the combined runs. | 60 # Now give the geometric mean as the total for the combined runs. |
60 scores = [] | 61 scores = [] |
61 for result in results.page_results: | 62 for result in results.page_results: |
62 scores.append(result[SCORE_TRACE_NAME].output_value) | 63 scores.append(result[SCORE_TRACE_NAME].output_value) |
63 total = _GeometricMean(scores) | 64 total = _GeometricMean(scores) |
64 results.AddSummary(SCORE_TRACE_NAME, SCORE_UNIT, total, 'Total') | 65 results.AddSummary(SCORE_TRACE_NAME, SCORE_UNIT, total, 'Total') |
(...skipping 17 matching lines...) Expand all Loading... |
82 { 'url': base_page + 'CreateNodes' }, | 83 { 'url': base_page + 'CreateNodes' }, |
83 { 'url': base_page + 'DOMDivWalk' }, | 84 { 'url': base_page + 'DOMDivWalk' }, |
84 { 'url': base_page + 'DOMTable' }, | 85 { 'url': base_page + 'DOMTable' }, |
85 { 'url': base_page + 'DOMWalk' }, | 86 { 'url': base_page + 'DOMWalk' }, |
86 { 'url': base_page + 'Events' }, | 87 { 'url': base_page + 'Events' }, |
87 { 'url': base_page + 'Get+Elements' }, | 88 { 'url': base_page + 'Get+Elements' }, |
88 { 'url': base_page + 'GridSort' }, | 89 { 'url': base_page + 'GridSort' }, |
89 { 'url': base_page + 'Template' } | 90 { 'url': base_page + 'Template' } |
90 ] | 91 ] |
91 }, dom_perf_dir) | 92 }, dom_perf_dir) |
OLD | NEW |