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

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

Issue 23455049: [telemetry] Make single-benchmark measurements protected and undiscoverable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update discover unit tests. Created 7 years, 1 month 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
« no previous file with comments | « tools/perf/benchmarks/spaceport.py ('k') | tools/perf/measurements/blink_perf.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 import collections 4 import collections
5 import json 5 import json
6 import os 6 import os
7 7
8 from telemetry import test 8 from telemetry import test
9 from telemetry.core import util 9 from telemetry.core import util
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 12
13 13
14 class SunspiderMeasurement(page_measurement.PageMeasurement): 14 class _SunspiderMeasurement(page_measurement.PageMeasurement):
15 def MeasurePage(self, _, tab, results): 15 def MeasurePage(self, _, tab, results):
16 tab.WaitForJavaScriptExpression( 16 tab.WaitForJavaScriptExpression(
17 'window.location.pathname.indexOf("results.html") >= 0' 17 'window.location.pathname.indexOf("results.html") >= 0'
18 '&& typeof(output) != "undefined"', 300) 18 '&& typeof(output) != "undefined"', 300)
19 19
20 js_get_results = 'JSON.stringify(output);' 20 js_get_results = 'JSON.stringify(output);'
21 js_results = json.loads(tab.EvaluateJavaScript(js_get_results)) 21 js_results = json.loads(tab.EvaluateJavaScript(js_get_results))
22 r = collections.defaultdict(list) 22 r = collections.defaultdict(list)
23 totals = [] 23 totals = []
24 # js_results is: [{'foo': v1, 'bar': v2}, 24 # js_results is: [{'foo': v1, 'bar': v2},
25 # {'foo': v3, 'bar': v4}, 25 # {'foo': v3, 'bar': v4},
26 # ...] 26 # ...]
27 for result in js_results: 27 for result in js_results:
28 total = 0 28 total = 0
29 for key, value in result.iteritems(): 29 for key, value in result.iteritems():
30 r[key].append(value) 30 r[key].append(value)
31 total += value 31 total += value
32 totals.append(total) 32 totals.append(total)
33 for key, values in r.iteritems(): 33 for key, values in r.iteritems():
34 results.Add(key, 'ms', values, data_type='unimportant') 34 results.Add(key, 'ms', values, data_type='unimportant')
35 results.Add('Total', 'ms', totals) 35 results.Add('Total', 'ms', totals)
36 36
37 37
38 class Sunspider(test.Test): 38 class Sunspider(test.Test):
39 """Apple's SunSpider JavaScript benchmark.""" 39 """Apple's SunSpider JavaScript benchmark."""
40 test = SunspiderMeasurement 40 test = _SunspiderMeasurement
41 41
42 def CreatePageSet(self, options): 42 def CreatePageSet(self, options):
43 sunspider_dir = os.path.join(util.GetChromiumSrcDir(), 43 sunspider_dir = os.path.join(util.GetChromiumSrcDir(),
44 'chrome', 'test', 'data', 'sunspider') 44 'chrome', 'test', 'data', 'sunspider')
45 return page_set.PageSet.FromDict( 45 return page_set.PageSet.FromDict(
46 { 46 {
47 'serving_dirs': ['.'], 47 'serving_dirs': ['.'],
48 'pages': [{ 'url': 'file://sunspider-1.0/driver.html' }], 48 'pages': [{ 'url': 'file://sunspider-1.0/driver.html' }],
49 }, 49 },
50 sunspider_dir) 50 sunspider_dir)
OLDNEW
« no previous file with comments | « tools/perf/benchmarks/spaceport.py ('k') | tools/perf/measurements/blink_perf.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698