Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(207)

Side by Side Diff: tools/perf/benchmarks/dom_perf.py

Issue 22754003: Refactor BenchmarkResult.Add to take enum for data_type (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698