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

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

Issue 816353008: [Telemetry] Explicitly define Name() method for all perf benchmarks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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
OLDNEW
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 import page as page_module 10 from telemetry import page as page_module
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 collection_name = data['collection'] 91 collection_name = data['collection']
92 AggregateData(aggregated, collection_name, data['mean']) 92 AggregateData(aggregated, collection_name, data['mean'])
93 93
94 for key, value in aggregated.iteritems(): 94 for key, value in aggregated.iteritems():
95 AddResult(key, math.exp(value['sum'] / value['count'])) 95 AddResult(key, math.exp(value['sum'] / value['count']))
96 96
97 class _DromaeoBenchmark(benchmark.Benchmark): 97 class _DromaeoBenchmark(benchmark.Benchmark):
98 """A base class for Dromaeo benchmarks.""" 98 """A base class for Dromaeo benchmarks."""
99 test = _DromaeoMeasurement 99 test = _DromaeoMeasurement
100 100
101 @classmethod
102 def Name(cls):
103 return 'dromaeo'
104
101 def CreatePageSet(self, options): 105 def CreatePageSet(self, options):
102 """Makes a PageSet for Dromaeo benchmarks.""" 106 """Makes a PageSet for Dromaeo benchmarks."""
103 # Subclasses are expected to define class members called query_param and 107 # Subclasses are expected to define class members called query_param and
104 # tag. 108 # tag.
105 if not hasattr(self, 'query_param') or not hasattr(self, 'tag'): 109 if not hasattr(self, 'query_param') or not hasattr(self, 'tag'):
106 raise NotImplementedError('query_param or tag not in Dromaeo benchmark.') 110 raise NotImplementedError('query_param or tag not in Dromaeo benchmark.')
107 archive_data_file = '../page_sets/data/dromaeo.%s.json' % self.tag 111 archive_data_file = '../page_sets/data/dromaeo.%s.json' % self.tag
108 ps = page_set.PageSet( 112 ps = page_set.PageSet(
109 archive_data_file=archive_data_file, 113 archive_data_file=archive_data_file,
110 file_path=os.path.abspath(__file__), bucket=page_set.PUBLIC_BUCKET) 114 file_path=os.path.abspath(__file__), bucket=page_set.PUBLIC_BUCKET)
111 url = 'http://dromaeo.com?%s' % self.query_param 115 url = 'http://dromaeo.com?%s' % self.query_param
112 ps.AddUserStory(page_module.Page( 116 ps.AddUserStory(page_module.Page(
113 url, ps, ps.base_dir, make_javascript_deterministic=False)) 117 url, ps, ps.base_dir, make_javascript_deterministic=False))
114 return ps 118 return ps
115 119
116 120
117 class DromaeoDomCoreAttr(_DromaeoBenchmark): 121 class DromaeoDomCoreAttr(_DromaeoBenchmark):
118 """Dromaeo DOMCore attr JavaScript benchmark. 122 """Dromaeo DOMCore attr JavaScript benchmark.
119 123
120 Tests setting and getting DOM node attributes. 124 Tests setting and getting DOM node attributes.
121 """ 125 """
122 tag = 'domcoreattr' 126 tag = 'domcoreattr'
123 query_param = 'dom-attr' 127 query_param = 'dom-attr'
124 128
129 @classmethod
130 def Name(cls):
131 return 'dromaeo.domcoreattr'
132
125 133
126 class DromaeoDomCoreModify(_DromaeoBenchmark): 134 class DromaeoDomCoreModify(_DromaeoBenchmark):
127 """Dromaeo DOMCore modify JavaScript benchmark. 135 """Dromaeo DOMCore modify JavaScript benchmark.
128 136
129 Tests creating and injecting DOM nodes. 137 Tests creating and injecting DOM nodes.
130 """ 138 """
131 tag = 'domcoremodify' 139 tag = 'domcoremodify'
132 query_param = 'dom-modify' 140 query_param = 'dom-modify'
133 141
142 @classmethod
143 def Name(cls):
144 return 'dromaeo.domcoremodify'
145
134 146
135 class DromaeoDomCoreQuery(_DromaeoBenchmark): 147 class DromaeoDomCoreQuery(_DromaeoBenchmark):
136 """Dromaeo DOMCore query JavaScript benchmark. 148 """Dromaeo DOMCore query JavaScript benchmark.
137 149
138 Tests querying DOM elements in a document. 150 Tests querying DOM elements in a document.
139 """ 151 """
140 tag = 'domcorequery' 152 tag = 'domcorequery'
141 query_param = 'dom-query' 153 query_param = 'dom-query'
142 154
155 @classmethod
156 def Name(cls):
157 return 'dromaeo.domcorequery'
158
143 159
144 class DromaeoDomCoreTraverse(_DromaeoBenchmark): 160 class DromaeoDomCoreTraverse(_DromaeoBenchmark):
145 """Dromaeo DOMCore traverse JavaScript benchmark. 161 """Dromaeo DOMCore traverse JavaScript benchmark.
146 162
147 Tests traversing a DOM structure. 163 Tests traversing a DOM structure.
148 """ 164 """
149 tag = 'domcoretraverse' 165 tag = 'domcoretraverse'
150 query_param = 'dom-traverse' 166 query_param = 'dom-traverse'
151 167
168 @classmethod
169 def Name(cls):
170 return 'dromaeo.domcoretraverse'
171
152 172
153 class DromaeoJslibAttrJquery(_DromaeoBenchmark): 173 class DromaeoJslibAttrJquery(_DromaeoBenchmark):
154 """Dromaeo JSLib attr jquery JavaScript benchmark. 174 """Dromaeo JSLib attr jquery JavaScript benchmark.
155 175
156 Tests setting and getting DOM node attributes using the jQuery JavaScript 176 Tests setting and getting DOM node attributes using the jQuery JavaScript
157 Library. 177 Library.
158 """ 178 """
159 tag = 'jslibattrjquery' 179 tag = 'jslibattrjquery'
160 query_param = 'jslib-attr-jquery' 180 query_param = 'jslib-attr-jquery'
161 181
182 @classmethod
183 def Name(cls):
184 return 'dromaeo.jslibattrjquery'
185
162 186
163 class DromaeoJslibAttrPrototype(_DromaeoBenchmark): 187 class DromaeoJslibAttrPrototype(_DromaeoBenchmark):
164 """Dromaeo JSLib attr prototype JavaScript benchmark. 188 """Dromaeo JSLib attr prototype JavaScript benchmark.
165 189
166 Tests setting and getting DOM node attributes using the jQuery JavaScript 190 Tests setting and getting DOM node attributes using the jQuery JavaScript
167 Library. 191 Library.
168 """ 192 """
169 tag = 'jslibattrprototype' 193 tag = 'jslibattrprototype'
170 query_param = 'jslib-attr-prototype' 194 query_param = 'jslib-attr-prototype'
171 195
196 @classmethod
197 def Name(cls):
198 return 'dromaeo.jslibattrprototype'
199
172 200
173 class DromaeoJslibEventJquery(_DromaeoBenchmark): 201 class DromaeoJslibEventJquery(_DromaeoBenchmark):
174 """Dromaeo JSLib event jquery JavaScript benchmark. 202 """Dromaeo JSLib event jquery JavaScript benchmark.
175 203
176 Tests binding, removing, and triggering DOM events using the jQuery JavaScript 204 Tests binding, removing, and triggering DOM events using the jQuery JavaScript
177 Library. 205 Library.
178 """ 206 """
179 tag = 'jslibeventjquery' 207 tag = 'jslibeventjquery'
180 query_param = 'jslib-event-jquery' 208 query_param = 'jslib-event-jquery'
181 209
210 @classmethod
211 def Name(cls):
212 return 'dromaeo.jslibeventjquery'
213
182 214
183 class DromaeoJslibEventPrototype(_DromaeoBenchmark): 215 class DromaeoJslibEventPrototype(_DromaeoBenchmark):
184 """Dromaeo JSLib event prototype JavaScript benchmark. 216 """Dromaeo JSLib event prototype JavaScript benchmark.
185 217
186 Tests binding, removing, and triggering DOM events using the Prototype 218 Tests binding, removing, and triggering DOM events using the Prototype
187 JavaScript Library. 219 JavaScript Library.
188 """ 220 """
189 tag = 'jslibeventprototype' 221 tag = 'jslibeventprototype'
190 query_param = 'jslib-event-prototype' 222 query_param = 'jslib-event-prototype'
191 223
224 @classmethod
225 def Name(cls):
226 return 'dromaeo.jslibeventprototype'
227
192 228
193 @benchmark.Disabled('xp') # crbug.com/389731 229 @benchmark.Disabled('xp') # crbug.com/389731
194 class DromaeoJslibModifyJquery(_DromaeoBenchmark): 230 class DromaeoJslibModifyJquery(_DromaeoBenchmark):
195 """Dromaeo JSLib modify jquery JavaScript benchmark. 231 """Dromaeo JSLib modify jquery JavaScript benchmark.
196 232
197 Tests creating and injecting DOM nodes into a document using the jQuery 233 Tests creating and injecting DOM nodes into a document using the jQuery
198 JavaScript Library. 234 JavaScript Library.
199 """ 235 """
200 tag = 'jslibmodifyjquery' 236 tag = 'jslibmodifyjquery'
201 query_param = 'jslib-modify-jquery' 237 query_param = 'jslib-modify-jquery'
202 238
239 @classmethod
240 def Name(cls):
241 return 'dromaeo.jslibmodifyjquery'
242
203 243
204 class DromaeoJslibModifyPrototype(_DromaeoBenchmark): 244 class DromaeoJslibModifyPrototype(_DromaeoBenchmark):
205 """Dromaeo JSLib modify prototype JavaScript benchmark. 245 """Dromaeo JSLib modify prototype JavaScript benchmark.
206 246
207 Tests creating and injecting DOM nodes into a document using the Prototype 247 Tests creating and injecting DOM nodes into a document using the Prototype
208 JavaScript Library. 248 JavaScript Library.
209 """ 249 """
210 tag = 'jslibmodifyprototype' 250 tag = 'jslibmodifyprototype'
211 query_param = 'jslib-modify-prototype' 251 query_param = 'jslib-modify-prototype'
212 252
253 @classmethod
254 def Name(cls):
255 return 'dromaeo.jslibmodifyprototype'
256
213 257
214 class DromaeoJslibStyleJquery(_DromaeoBenchmark): 258 class DromaeoJslibStyleJquery(_DromaeoBenchmark):
215 """Dromaeo JSLib style jquery JavaScript benchmark. 259 """Dromaeo JSLib style jquery JavaScript benchmark.
216 260
217 Tests getting and setting CSS information on DOM elements using the jQuery 261 Tests getting and setting CSS information on DOM elements using the jQuery
218 JavaScript Library. 262 JavaScript Library.
219 """ 263 """
220 tag = 'jslibstylejquery' 264 tag = 'jslibstylejquery'
221 query_param = 'jslib-style-jquery' 265 query_param = 'jslib-style-jquery'
222 266
267 @classmethod
268 def Name(cls):
269 return 'dromaeo.jslibstylejquery'
270
223 271
224 class DromaeoJslibStylePrototype(_DromaeoBenchmark): 272 class DromaeoJslibStylePrototype(_DromaeoBenchmark):
225 """Dromaeo JSLib style prototype JavaScript benchmark. 273 """Dromaeo JSLib style prototype JavaScript benchmark.
226 274
227 Tests getting and setting CSS information on DOM elements using the jQuery 275 Tests getting and setting CSS information on DOM elements using the jQuery
228 JavaScript Library. 276 JavaScript Library.
229 """ 277 """
230 tag = 'jslibstyleprototype' 278 tag = 'jslibstyleprototype'
231 query_param = 'jslib-style-prototype' 279 query_param = 'jslib-style-prototype'
232 280
281 @classmethod
282 def Name(cls):
283 return 'dromaeo.jslibstyleprototype'
284
233 285
234 class DromaeoJslibTraverseJquery(_DromaeoBenchmark): 286 class DromaeoJslibTraverseJquery(_DromaeoBenchmark):
235 """Dromaeo JSLib traverse jquery JavaScript benchmark. 287 """Dromaeo JSLib traverse jquery JavaScript benchmark.
236 288
237 289
238 Tests getting and setting CSS information on DOM elements using the Prototype 290 Tests getting and setting CSS information on DOM elements using the Prototype
239 JavaScript Library. 291 JavaScript Library.
240 """ 292 """
241 tag = 'jslibtraversejquery' 293 tag = 'jslibtraversejquery'
242 query_param = 'jslib-traverse-jquery' 294 query_param = 'jslib-traverse-jquery'
243 295
296 @classmethod
297 def Name(cls):
298 return 'dromaeo.jslibtraversejquery'
299
244 300
245 class DromaeoJslibTraversePrototype(_DromaeoBenchmark): 301 class DromaeoJslibTraversePrototype(_DromaeoBenchmark):
246 """Dromaeo JSLib traverse prototype JavaScript benchmark. 302 """Dromaeo JSLib traverse prototype JavaScript benchmark.
247 303
248 Tests traversing a DOM structure using the jQuery JavaScript Library. 304 Tests traversing a DOM structure using the jQuery JavaScript Library.
249 """ 305 """
250 tag = 'jslibtraverseprototype' 306 tag = 'jslibtraverseprototype'
251 query_param = 'jslib-traverse-prototype' 307 query_param = 'jslib-traverse-prototype'
252 308
309 @classmethod
310 def Name(cls):
311 return 'dromaeo.jslibtraverseprototype'
312
253 313
254 class DromaeoCSSQueryJquery(_DromaeoBenchmark): 314 class DromaeoCSSQueryJquery(_DromaeoBenchmark):
255 """Dromaeo CSS Query jquery JavaScript benchmark. 315 """Dromaeo CSS Query jquery JavaScript benchmark.
256 316
257 Tests traversing a DOM structure using the Prototype JavaScript Library. 317 Tests traversing a DOM structure using the Prototype JavaScript Library.
258 """ 318 """
259 tag = 'cssqueryjquery' 319 tag = 'cssqueryjquery'
260 query_param = 'cssquery-jquery' 320 query_param = 'cssquery-jquery'
261 321
322 @classmethod
323 def Name(cls):
324 return 'dromaeo.cssqueryjquery'
325
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698