| Index: tools/android/loading/trace_recorder.py
|
| diff --git a/tools/android/loading/trace_recorder.py b/tools/android/loading/trace_recorder.py
|
| index fdf6cc6c93ac39bcb3dbfc9e651da7c5d97c1835..61015d234bb5db1381b079ce20f3843b4377c086 100755
|
| --- a/tools/android/loading/trace_recorder.py
|
| +++ b/tools/android/loading/trace_recorder.py
|
| @@ -30,20 +30,34 @@ import request_track
|
| import tracing
|
|
|
|
|
| +def MonitorUrl(connection, url, clear_cache=False):
|
| + """Monitor a URL via a trace recorder.
|
| +
|
| + Args:
|
| + connection: A device_monitor.DevToolsConnection instance.
|
| + url: url to navigate to as string.
|
| + clear_cache: boolean indicating if cache should be cleared before loading.
|
| +
|
| + Returns:
|
| + loading_trace.LoadingTrace.
|
| + """
|
| + logging.warning('Logging %scached %s' % ('un' if clear_cache else '', url))
|
| + page = page_track.PageTrack(connection)
|
| + request = request_track.RequestTrack(connection)
|
| + trace = tracing.TracingTrack(connection)
|
| + connection.SetUpMonitoring()
|
| + if clear_cache:
|
| + connection.ClearCache()
|
| + connection.SendAndIgnoreResponse('Page.navigate', {'url': url})
|
| + connection.StartMonitoring()
|
| + metadata = {'date': datetime.datetime.utcnow().isoformat(),
|
| + 'seconds_since_epoch': time.time()}
|
| + return loading_trace.LoadingTrace(url, metadata, page, request, trace)
|
| +
|
| def RecordAndDumpTrace(device, url, output_filename):
|
| with file(output_filename, 'w') as output,\
|
| device_setup.DeviceConnection(device) as connection:
|
| - page = page_track.PageTrack(connection)
|
| - request = request_track.RequestTrack(connection)
|
| - tracing_track = tracing.TracingTrack(connection)
|
| - connection.SetUpMonitoring()
|
| - connection.SendAndIgnoreResponse('Network.clearBrowserCache', {})
|
| - connection.SendAndIgnoreResponse('Page.navigate', {'url': url})
|
| - connection.StartMonitoring()
|
| - metadata = {'date': datetime.datetime.utcnow().isoformat(),
|
| - 'seconds_since_epoch': time.time()}
|
| - trace = loading_trace.LoadingTrace(url, metadata, page, request,
|
| - tracing_track)
|
| + trace = MonitorUrl(connection, url)
|
| json.dump(trace.ToJsonDict(), output)
|
|
|
|
|
|
|