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

Side by Side Diff: tools/perf/benchmarks/dromaeo.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/dom_perf.py ('k') | tools/perf/benchmarks/html5gaming.py » ('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 4
5 import os 5 import os
6 6
7 from telemetry import test 7 from telemetry import test
8 from telemetry.core import util 8 from telemetry.core import util
9 from telemetry.page import page_measurement
9 from telemetry.page import page_set 10 from telemetry.page import page_set
10 11
11 from measurements import dromaeo 12
13 class _DromaeoMeasurement(page_measurement.PageMeasurement):
14 def MeasurePage(self, page, tab, results):
15 tab.WaitForJavaScriptExpression(
16 'window.document.cookie.indexOf("__done=1") >= 0', 600)
17
18 js_get_results = 'JSON.stringify(window.automation.GetResults())'
19 print js_get_results
20 score = eval(tab.EvaluateJavaScript(js_get_results))
21
22 def Escape(k):
23 chars = [' ', '-', '/', '(', ')', '*']
24 for c in chars:
25 k = k.replace(c, '_')
26 return k
27
28 suffix = page.url[page.url.index('?') + 1 : page.url.index('&')]
29 for k, v in score.iteritems():
30 data_type = 'unimportant'
31 if k == suffix:
32 data_type = 'default'
33 results.Add(Escape(k), 'runs/s', v, data_type=data_type)
12 34
13 35
14 class DromaeoBenchmark(test.Test): 36 class _DromaeoBenchmark(test.Test):
15 """A base class for Dromaeo benchmarks.""" 37 """A base class for Dromaeo benchmarks."""
16 test = dromaeo.Dromaeo 38 test = _DromaeoMeasurement
17 39
18 def CreatePageSet(self, options): 40 def CreatePageSet(self, options):
19 """Makes a PageSet for Dromaeo benchmarks.""" 41 """Makes a PageSet for Dromaeo benchmarks."""
20 # Subclasses are expected to define a class member called query_param. 42 # Subclasses are expected to define a class member called query_param.
21 if not hasattr(self, 'query_param'): 43 if not hasattr(self, 'query_param'):
22 raise NotImplementedError('query_param not in Dromaeo benchmark.') 44 raise NotImplementedError('query_param not in Dromaeo benchmark.')
23 url = 'file://index.html?%s&automated' % self.query_param 45 url = 'file://index.html?%s&automated' % self.query_param
24 # The docstring of benchmark classes may also be used as a description 46 # The docstring of benchmark classes may also be used as a description
25 # when 'run_benchmarks list' is run. 47 # when 'run_benchmarks list' is run.
26 description = self.__doc__ or 'Dromaeo JavaScript Benchmark' 48 description = self.__doc__ or 'Dromaeo JavaScript Benchmark'
27 page_set_dict = { 49 page_set_dict = {
28 'description': description, 50 'description': description,
29 'pages': [{'url': url}], 51 'pages': [{'url': url}],
30 } 52 }
31 dromaeo_dir = os.path.join(util.GetChromiumSrcDir(), 53 dromaeo_dir = os.path.join(util.GetChromiumSrcDir(),
32 'chrome', 'test', 'data', 'dromaeo') 54 'chrome', 'test', 'data', 'dromaeo')
33 return page_set.PageSet.FromDict(page_set_dict, dromaeo_dir) 55 return page_set.PageSet.FromDict(page_set_dict, dromaeo_dir)
34 56
35 57
36 class DromaeoDomCoreAttr(DromaeoBenchmark): 58 class DromaeoDomCoreAttr(_DromaeoBenchmark):
37 """Dromaeo DOMCore attr JavaScript benchmark.""" 59 """Dromaeo DOMCore attr JavaScript benchmark."""
38 tag = 'domcoreattr' 60 tag = 'domcoreattr'
39 query_param = 'dom-attr' 61 query_param = 'dom-attr'
40 62
41 63
42 class DromaeoDomCoreModify(DromaeoBenchmark): 64 class DromaeoDomCoreModify(_DromaeoBenchmark):
43 """Dromaeo DOMCore modify JavaScript benchmark.""" 65 """Dromaeo DOMCore modify JavaScript benchmark."""
44 tag = 'domcoremodify' 66 tag = 'domcoremodify'
45 query_param = 'dom-modify' 67 query_param = 'dom-modify'
46 68
47 69
48 class DromaeoDomCoreQuery(DromaeoBenchmark): 70 class DromaeoDomCoreQuery(_DromaeoBenchmark):
49 """Dromaeo DOMCore query JavaScript benchmark.""" 71 """Dromaeo DOMCore query JavaScript benchmark."""
50 tag = 'domcorequery' 72 tag = 'domcorequery'
51 query_param = 'dom-query' 73 query_param = 'dom-query'
52 74
53 75
54 class DromaeoDomCoreTraverse(DromaeoBenchmark): 76 class DromaeoDomCoreTraverse(_DromaeoBenchmark):
55 """Dromaeo DOMCore traverse JavaScript benchmark.""" 77 """Dromaeo DOMCore traverse JavaScript benchmark."""
56 tag = 'domcoretraverse' 78 tag = 'domcoretraverse'
57 query_param = 'dom-traverse' 79 query_param = 'dom-traverse'
58 80
59 81
60 class DromaeoJslibAttrJquery(DromaeoBenchmark): 82 class DromaeoJslibAttrJquery(_DromaeoBenchmark):
61 """Dromaeo JSLib attr jquery JavaScript benchmark""" 83 """Dromaeo JSLib attr jquery JavaScript benchmark"""
62 tag = 'jslibattrjquery' 84 tag = 'jslibattrjquery'
63 query_param = 'jslib-attr-jquery' 85 query_param = 'jslib-attr-jquery'
64 86
65 87
66 class DromaeoJslibAttrPrototype(DromaeoBenchmark): 88 class DromaeoJslibAttrPrototype(_DromaeoBenchmark):
67 """Dromaeo JSLib attr prototype JavaScript benchmark""" 89 """Dromaeo JSLib attr prototype JavaScript benchmark"""
68 tag = 'jslibattrprototype' 90 tag = 'jslibattrprototype'
69 query_param = 'jslib-attr-prototype' 91 query_param = 'jslib-attr-prototype'
70 92
71 93
72 class DromaeoJslibEventJquery(DromaeoBenchmark): 94 class DromaeoJslibEventJquery(_DromaeoBenchmark):
73 """Dromaeo JSLib event jquery JavaScript benchmark""" 95 """Dromaeo JSLib event jquery JavaScript benchmark"""
74 tag = 'jslibeventjquery' 96 tag = 'jslibeventjquery'
75 query_param = 'jslib-event-jquery' 97 query_param = 'jslib-event-jquery'
76 98
77 99
78 class DromaeoJslibEventPrototype(DromaeoBenchmark): 100 class DromaeoJslibEventPrototype(_DromaeoBenchmark):
79 """Dromaeo JSLib event prototype JavaScript benchmark""" 101 """Dromaeo JSLib event prototype JavaScript benchmark"""
80 tag = 'jslibeventprototype' 102 tag = 'jslibeventprototype'
81 query_param = 'jslib-event-prototype' 103 query_param = 'jslib-event-prototype'
82 104
83 105
84 class DromaeoJslibModifyJquery(DromaeoBenchmark): 106 class DromaeoJslibModifyJquery(_DromaeoBenchmark):
85 """Dromaeo JSLib modify jquery JavaScript benchmark""" 107 """Dromaeo JSLib modify jquery JavaScript benchmark"""
86 tag = 'jslibmodifyjquery' 108 tag = 'jslibmodifyjquery'
87 query_param = 'jslib-modify-jquery' 109 query_param = 'jslib-modify-jquery'
88 110
89 111
90 class DromaeoJslibModifyPrototype(DromaeoBenchmark): 112 class DromaeoJslibModifyPrototype(_DromaeoBenchmark):
91 """Dromaeo JSLib modify prototype JavaScript benchmark""" 113 """Dromaeo JSLib modify prototype JavaScript benchmark"""
92 tag = 'jslibmodifyprototype' 114 tag = 'jslibmodifyprototype'
93 query_param = 'jslib-modify-prototype' 115 query_param = 'jslib-modify-prototype'
94 116
95 117
96 class DromaeoJslibStyleJquery(DromaeoBenchmark): 118 class DromaeoJslibStyleJquery(_DromaeoBenchmark):
97 """Dromaeo JSLib style jquery JavaScript benchmark""" 119 """Dromaeo JSLib style jquery JavaScript benchmark"""
98 tag = 'jslibstylejquery' 120 tag = 'jslibstylejquery'
99 query_param = 'jslib-style-jquery' 121 query_param = 'jslib-style-jquery'
100 122
101 123
102 class DromaeoJslibStylePrototype(DromaeoBenchmark): 124 class DromaeoJslibStylePrototype(_DromaeoBenchmark):
103 """Dromaeo JSLib style prototype JavaScript benchmark""" 125 """Dromaeo JSLib style prototype JavaScript benchmark"""
104 tag = 'jslibstyleprototype' 126 tag = 'jslibstyleprototype'
105 query_param = 'jslib-style-prototype' 127 query_param = 'jslib-style-prototype'
106 128
107 129
108 class DromaeoJslibTraverseJquery(DromaeoBenchmark): 130 class DromaeoJslibTraverseJquery(_DromaeoBenchmark):
109 """Dromaeo JSLib traverse jquery JavaScript benchmark""" 131 """Dromaeo JSLib traverse jquery JavaScript benchmark"""
110 tag = 'jslibtraversejquery' 132 tag = 'jslibtraversejquery'
111 query_param = 'jslib-traverse-jquery' 133 query_param = 'jslib-traverse-jquery'
112 134
113 135
114 class DromaeoJslibTraversePrototype(DromaeoBenchmark): 136 class DromaeoJslibTraversePrototype(_DromaeoBenchmark):
115 """Dromaeo JSLib traverse prototype JavaScript benchmark""" 137 """Dromaeo JSLib traverse prototype JavaScript benchmark"""
116 tag = 'jslibtraverseprototype' 138 tag = 'jslibtraverseprototype'
117 query_param = 'jslib-traverse-prototype' 139 query_param = 'jslib-traverse-prototype'
118 140
OLDNEW
« no previous file with comments | « tools/perf/benchmarks/dom_perf.py ('k') | tools/perf/benchmarks/html5gaming.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698