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

Side by Side Diff: tools/perf/benchmarks/blink_perf.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 os 5 import os
6 6
7 from measurements import PageTestMeasurement
7 from telemetry import benchmark 8 from telemetry import benchmark
8 from telemetry.core import util 9 from telemetry.core import util
9 from telemetry.page import page_set 10 from telemetry.page import page_set
10 from telemetry.page import page_test
11 from telemetry.value import list_of_scalar_values 11 from telemetry.value import list_of_scalar_values
12 12
13 13
14 BLINK_PERF_BASE_DIR = os.path.join(util.GetChromiumSrcDir(), 14 BLINK_PERF_BASE_DIR = os.path.join(util.GetChromiumSrcDir(),
15 'third_party', 'WebKit', 'PerformanceTests') 15 'third_party', 'WebKit', 'PerformanceTests')
16 SKIPPED_FILE = os.path.join(BLINK_PERF_BASE_DIR, 'Skipped') 16 SKIPPED_FILE = os.path.join(BLINK_PERF_BASE_DIR, 'Skipped')
17 17
18 18
19 def _CreatePageSetFromPath(path, skipped_file): 19 def _CreatePageSetFromPath(path, skipped_file):
20 assert os.path.exists(path) 20 assert os.path.exists(path)
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 skipped.append(skipped_path.replace('/', os.sep)) 52 skipped.append(skipped_path.replace('/', os.sep))
53 _AddDir(path, tuple(skipped)) 53 _AddDir(path, tuple(skipped))
54 else: 54 else:
55 _AddPage(path) 55 _AddPage(path)
56 ps = page_set.PageSet(file_path=os.getcwd()+os.sep, serving_dirs=serving_dirs) 56 ps = page_set.PageSet(file_path=os.getcwd()+os.sep, serving_dirs=serving_dirs)
57 for url in page_urls: 57 for url in page_urls:
58 ps.AddPageWithDefaultRunNavigate(url) 58 ps.AddPageWithDefaultRunNavigate(url)
59 return ps 59 return ps
60 60
61 61
62 class _BlinkPerfMeasurement(page_test.PageTest): 62 class _BlinkPerfMeasurement(PageTestMeasurement):
63 """Tuns a blink performance test and reports the results.""" 63 """Tuns a blink performance test and reports the results."""
64 def __init__(self): 64 def __init__(self):
65 super(_BlinkPerfMeasurement, self).__init__('') 65 super(_BlinkPerfMeasurement, self).__init__('')
66 with open(os.path.join(os.path.dirname(__file__), 66 with open(os.path.join(os.path.dirname(__file__),
67 'blink_perf.js'), 'r') as f: 67 'blink_perf.js'), 'r') as f:
68 self._blink_perf_js = f.read() 68 self._blink_perf_js = f.read()
69 69
70 def WillNavigateToPage(self, page, tab): 70 def WillNavigateToPage(self, page, tab):
71 page.script_to_evaluate_on_commit = self._blink_perf_js 71 page.script_to_evaluate_on_commit = self._blink_perf_js
72 72
73 def CustomizeBrowserOptions(self, options): 73 def CustomizeBrowserOptions(self, options):
74 super(_BlinkPerfMeasurement, self).CustomizeBrowserOptions(options)
74 options.AppendExtraBrowserArgs([ 75 options.AppendExtraBrowserArgs([
75 '--js-flags=--expose_gc', 76 '--js-flags=--expose_gc',
76 '--enable-experimental-web-platform-features', 77 '--enable-experimental-web-platform-features',
77 '--disable-gesture-requirement-for-media-playback' 78 '--disable-gesture-requirement-for-media-playback'
78 ]) 79 ])
79 80
80 def ValidateAndMeasurePage(self, page, tab, results): 81 def ValidateAndMeasurePage(self, page, tab, results):
82 super(_BlinkPerfMeasurement, self).ValidateAndMeasurePage(
83 page, tab, results)
81 tab.WaitForJavaScriptExpression('testRunner.isDone', 600) 84 tab.WaitForJavaScriptExpression('testRunner.isDone', 600)
82 85
83 log = tab.EvaluateJavaScript('document.getElementById("log").innerHTML') 86 log = tab.EvaluateJavaScript('document.getElementById("log").innerHTML')
84 87
85 for line in log.splitlines(): 88 for line in log.splitlines():
86 if not line.startswith('values '): 89 if not line.startswith('values '):
87 continue 90 continue
88 parts = line.split() 91 parts = line.split()
89 values = [float(v.replace(',', '')) for v in parts[1:-1]] 92 values = [float(v.replace(',', '')) for v in parts[1:-1]]
90 units = parts[-1] 93 units = parts[-1]
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 return _CreatePageSetFromPath(path, SKIPPED_FILE) 208 return _CreatePageSetFromPath(path, SKIPPED_FILE)
206 209
207 210
208 class BlinkPerfXMLHttpRequest(benchmark.Benchmark): 211 class BlinkPerfXMLHttpRequest(benchmark.Benchmark):
209 tag = 'xml_http_request' 212 tag = 'xml_http_request'
210 test = _BlinkPerfMeasurement 213 test = _BlinkPerfMeasurement
211 214
212 def CreatePageSet(self, options): 215 def CreatePageSet(self, options):
213 path = os.path.join(BLINK_PERF_BASE_DIR, 'XMLHttpRequest') 216 path = os.path.join(BLINK_PERF_BASE_DIR, 'XMLHttpRequest')
214 return _CreatePageSetFromPath(path, SKIPPED_FILE) 217 return _CreatePageSetFromPath(path, SKIPPED_FILE)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698