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

Side by Side Diff: tools/android/loading/analyze.py

Issue 1923823003: clovis: Don't pretty-print JSON traces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 7 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
« no previous file with comments | « no previous file | tools/android/loading/loading_trace.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #! /usr/bin/python 1 #! /usr/bin/python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import argparse 6 import argparse
7 import cgi 7 import cgi
8 import json 8 import json
9 import logging 9 import logging
10 import os 10 import os
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 url: url as a string to load. 52 url: url as a string to load.
53 """ 53 """
54 load_intent = intent.Intent( 54 load_intent = intent.Intent(
55 package=OPTIONS.ChromePackage().package, 55 package=OPTIONS.ChromePackage().package,
56 activity=OPTIONS.ChromePackage().activity, 56 activity=OPTIONS.ChromePackage().activity,
57 data=url) 57 data=url)
58 logging.warning('Loading ' + url) 58 logging.warning('Loading ' + url)
59 device.StartActivity(load_intent, blocking=True) 59 device.StartActivity(load_intent, blocking=True)
60 60
61 61
62 def _WriteJson(output, json_data):
63 """Write JSON data in a nice way.
64
65 Args:
66 output: a file object
67 json_data: JSON data as a dict.
68 """
69 json.dump(json_data, output, sort_keys=True, indent=2)
70
71
72 def _GetPrefetchHtml(graph_view, name=None): 62 def _GetPrefetchHtml(graph_view, name=None):
73 """Generate prefetch page for the resources in resource graph. 63 """Generate prefetch page for the resources in resource graph.
74 64
75 Args: 65 Args:
76 graph_view: (LoadingGraphView) 66 graph_view: (LoadingGraphView)
77 name: optional string used in the generated page. 67 name: optional string used in the generated page.
78 68
79 Returns: 69 Returns:
80 HTML as a string containing all the link rel=prefetch directives necessary 70 HTML as a string containing all the link rel=prefetch directives necessary
81 for prefetching the given ResourceGraph. 71 for prefetching the given ResourceGraph.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 # We hope that the tmpfile name is unique enough for the device. 137 # We hope that the tmpfile name is unique enough for the device.
148 target = os.path.join('/sdcard/Download', os.path.basename(tmp.name)) 138 target = os.path.join('/sdcard/Download', os.path.basename(tmp.name))
149 device = device_setup.GetFirstDevice() 139 device = device_setup.GetFirstDevice()
150 device.adb.Push(tmp.name, target) 140 device.adb.Push(tmp.name, target)
151 logging.warning('Pushed prefetch %s to device at %s' % (tmp.name, target)) 141 logging.warning('Pushed prefetch %s to device at %s' % (tmp.name, target))
152 _LoadPage(device, 'file://' + target) 142 _LoadPage(device, 'file://' + target)
153 time.sleep(OPTIONS.prefetch_delay_seconds) 143 time.sleep(OPTIONS.prefetch_delay_seconds)
154 logging.warning('Warm fetch') 144 logging.warning('Warm fetch')
155 warm_data = _LogRequests(url, clear_cache_override=False) 145 warm_data = _LogRequests(url, clear_cache_override=False)
156 with open(json_output, 'w') as f: 146 with open(json_output, 'w') as f:
157 _WriteJson(f, warm_data) 147 json.dump(warm_data, f)
158 logging.warning('Wrote ' + json_output) 148 logging.warning('Wrote ' + json_output)
159 with open(json_output + '.cold', 'w') as f: 149 with open(json_output + '.cold', 'w') as f:
160 _WriteJson(f, cold_data) 150 json.dump(cold_data, f)
161 logging.warning('Wrote ' + json_output + '.cold') 151 logging.warning('Wrote ' + json_output + '.cold')
162 else: 152 else:
163 with open(json_output, 'w') as f: 153 with open(json_output, 'w') as f:
164 _WriteJson(f, cold_data) 154 json.dump(cold_data, f)
165 logging.warning('Wrote ' + json_output) 155 logging.warning('Wrote ' + json_output)
166 156
167 157
168 def _ProcessTraceFile(filename): 158 def _ProcessTraceFile(filename):
169 with open(filename) as f: 159 with open(filename) as f:
170 return _ProcessJsonTrace(json.load(f)) 160 return _ProcessJsonTrace(json.load(f))
171 161
172 162
173 def _ProcessJsonTrace(json_dict): 163 def _ProcessJsonTrace(json_dict):
174 trace = loading_trace.LoadingTrace.FromJsonDict(json_dict) 164 trace = loading_trace.LoadingTrace.FromJsonDict(json_dict)
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 parser.add_argument('command', help=' '.join(COMMAND_MAP.keys())) 308 parser.add_argument('command', help=' '.join(COMMAND_MAP.keys()))
319 parser.add_argument('rest', nargs=argparse.REMAINDER) 309 parser.add_argument('rest', nargs=argparse.REMAINDER)
320 args = parser.parse_args() 310 args = parser.parse_args()
321 devil_chromium.Initialize() 311 devil_chromium.Initialize()
322 COMMAND_MAP.get(args.command, 312 COMMAND_MAP.get(args.command,
323 lambda _: InvalidCommand(args.command))(args.rest) 313 lambda _: InvalidCommand(args.command))(args.rest)
324 314
325 315
326 if __name__ == '__main__': 316 if __name__ == '__main__':
327 main() 317 main()
OLDNEW
« no previous file with comments | « no previous file | tools/android/loading/loading_trace.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698