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

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

Issue 714273004: mac: Expose keychain access frequency to Telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mock_keychain_sleep
Patch Set: Add a common subclass to measurements. Created 6 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
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 measurements import PageTestMeasurement
8 from metrics import power 9 from metrics import power
9 from telemetry import benchmark 10 from telemetry import benchmark
10 from telemetry.page import page_set 11 from telemetry.page import page_set
11 from telemetry.page import page_test
12 from telemetry.value import scalar 12 from telemetry.value import scalar
13 13
14 14
15 class _DromaeoMeasurement(page_test.PageTest): 15 class _DromaeoMeasurement(PageTestMeasurement):
16 def __init__(self): 16 def __init__(self):
17 super(_DromaeoMeasurement, self).__init__() 17 super(_DromaeoMeasurement, self).__init__()
18 self._power_metric = None 18 self._power_metric = None
19 19
20 def CustomizeBrowserOptions(self, options): 20 def CustomizeBrowserOptions(self, options):
21 super(_DromaeoMeasurement, self).CustomizeBrowserOptions(options)
21 power.PowerMetric.CustomizeBrowserOptions(options) 22 power.PowerMetric.CustomizeBrowserOptions(options)
22 23
23 def WillStartBrowser(self, platform): 24 def WillStartBrowser(self, platform):
24 self._power_metric = power.PowerMetric(platform) 25 self._power_metric = power.PowerMetric(platform)
25 26
26 def DidNavigateToPage(self, page, tab): 27 def DidNavigateToPage(self, page, tab):
27 self._power_metric.Start(page, tab) 28 self._power_metric.Start(page, tab)
28 29
29 def ValidateAndMeasurePage(self, page, tab, results): 30 def ValidateAndMeasurePage(self, page, tab, results):
30 tab.WaitForJavaScriptExpression( 31 tab.WaitForJavaScriptExpression(
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 86
86 top_name = data['collection'].split('-', 1)[0] 87 top_name = data['collection'].split('-', 1)[0]
87 AggregateData(aggregated, top_name, data['mean']) 88 AggregateData(aggregated, top_name, data['mean'])
88 89
89 collection_name = data['collection'] 90 collection_name = data['collection']
90 AggregateData(aggregated, collection_name, data['mean']) 91 AggregateData(aggregated, collection_name, data['mean'])
91 92
92 for key, value in aggregated.iteritems(): 93 for key, value in aggregated.iteritems():
93 AddResult(key, math.exp(value['sum'] / value['count'])) 94 AddResult(key, math.exp(value['sum'] / value['count']))
94 95
96 super(_DromaeoMeasurement, self).ValidateAndMeasurePage(
97 page, tab, results)
98
95 class _DromaeoBenchmark(benchmark.Benchmark): 99 class _DromaeoBenchmark(benchmark.Benchmark):
96 """A base class for Dromaeo benchmarks.""" 100 """A base class for Dromaeo benchmarks."""
97 test = _DromaeoMeasurement 101 test = _DromaeoMeasurement
98 102
99 def CreatePageSet(self, options): 103 def CreatePageSet(self, options):
100 """Makes a PageSet for Dromaeo benchmarks.""" 104 """Makes a PageSet for Dromaeo benchmarks."""
101 # Subclasses are expected to define class members called query_param and 105 # Subclasses are expected to define class members called query_param and
102 # tag. 106 # tag.
103 if not hasattr(self, 'query_param') or not hasattr(self, 'tag'): 107 if not hasattr(self, 'query_param') or not hasattr(self, 'tag'):
104 raise NotImplementedError('query_param or tag not in Dromaeo benchmark.') 108 raise NotImplementedError('query_param or tag not in Dromaeo benchmark.')
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 """Dromaeo JSLib traverse prototype JavaScript benchmark""" 199 """Dromaeo JSLib traverse prototype JavaScript benchmark"""
196 tag = 'jslibtraverseprototype' 200 tag = 'jslibtraverseprototype'
197 query_param = 'jslib-traverse-prototype' 201 query_param = 'jslib-traverse-prototype'
198 202
199 203
200 class DromaeoCSSQueryJquery(_DromaeoBenchmark): 204 class DromaeoCSSQueryJquery(_DromaeoBenchmark):
201 """Dromaeo CSS Query jquery JavaScript benchmark""" 205 """Dromaeo CSS Query jquery JavaScript benchmark"""
202 tag = 'cssqueryjquery' 206 tag = 'cssqueryjquery'
203 query_param = 'cssquery-jquery' 207 query_param = 'cssquery-jquery'
204 208
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698