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

Side by Side Diff: tools/telemetry/telemetry/core/chrome/browser_backend.py

Issue 16154007: [Telemetry] Add a page set option to use all cold page loads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move --cold-page-loads to page_cycler.py Created 7 years, 6 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 | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 urllib2
6 import httplib 5 import httplib
7 import socket 6 import logging
8 import json 7 import json
9 import re 8 import re
9 import socket
10 import sys 10 import sys
11 import urllib2
11 12
12 from telemetry.core import util 13 from telemetry.core import util
13 from telemetry.core import exceptions 14 from telemetry.core import exceptions
14 from telemetry.core import user_agent 15 from telemetry.core import user_agent
15 from telemetry.core import wpr_modes 16 from telemetry.core import wpr_modes
16 from telemetry.core import wpr_server 17 from telemetry.core import wpr_server
17 from telemetry.core.chrome import extension_dict_backend 18 from telemetry.core.chrome import extension_dict_backend
18 from telemetry.core.chrome import tab_list_backend 19 from telemetry.core.chrome import tab_list_backend
19 from telemetry.core.chrome import tracing_backend 20 from telemetry.core.chrome import tracing_backend
20 from telemetry.core.chrome import misc_web_contents_backend 21 from telemetry.core.chrome import misc_web_contents_backend
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 if ':sandboxed_process' in cmd_line: 222 if ':sandboxed_process' in cmd_line:
222 return 'renderer' 223 return 'renderer'
223 m = re.match(r'.* --type=([^\s]*) .*', cmd_line) 224 m = re.match(r'.* --type=([^\s]*) .*', cmd_line)
224 if not m: 225 if not m:
225 return 'browser' 226 return 'browser'
226 return m.group(1) 227 return m.group(1)
227 228
228 def GetRemotePort(self, _): 229 def GetRemotePort(self, _):
229 return util.GetAvailableLocalPort() 230 return util.GetAvailableLocalPort()
230 231
232 def CloseConnections(self):
233 tab = self._tab_list_backend[0]
234 try:
235 tab.ExecuteJavaScript("""window.chrome && chrome.benchmarking &&
236 chrome.benchmarking.closeConnections();""")
237 except Exception:
238 pass
239
240 def ClearCache(self):
241 tab = self._tab_list_backend[0]
242 try:
243 tab.ExecuteJavaScript("""chrome.benchmarking.clearCache();
244 chrome.benchmarking.clearHostResolverCache();
245 chrome.benchmarking.clearPredictorCache();
246 chrome.benchmarking.closeConnections();""")
247 except exceptions.EvaluateException:
nduca 2013/06/06 22:49:04 this seems pretty funky, how do you know that this
tonyg 2013/06/20 02:42:29 This is gone now.
248 logging.error('Failed to clear cache. Is --enable-net-benchmarking set?')
249 raise
250
231 def Close(self): 251 def Close(self):
232 if self._tracing_backend: 252 if self._tracing_backend:
233 self._tracing_backend.Close() 253 self._tracing_backend.Close()
234 self._tracing_backend = None 254 self._tracing_backend = None
235 255
236 def CreateForwarder(self, *port_pairs): 256 def CreateForwarder(self, *port_pairs):
237 raise NotImplementedError() 257 raise NotImplementedError()
238 258
239 def IsBrowserRunning(self): 259 def IsBrowserRunning(self):
240 raise NotImplementedError() 260 raise NotImplementedError()
241 261
242 def GetStandardOutput(self): 262 def GetStandardOutput(self):
243 raise NotImplementedError() 263 raise NotImplementedError()
244 264
245 class DoNothingForwarder(object): 265 class DoNothingForwarder(object):
246 def __init__(self, *port_pairs): 266 def __init__(self, *port_pairs):
247 self._host_port = port_pairs[0].local_port 267 self._host_port = port_pairs[0].local_port
248 268
249 @property 269 @property
250 def url(self): 270 def url(self):
251 assert self._host_port 271 assert self._host_port
252 return 'http://127.0.0.1:%i' % self._host_port 272 return 'http://127.0.0.1:%i' % self._host_port
253 273
254 def Close(self): 274 def Close(self):
255 self._host_port = None 275 self._host_port = None
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698