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

Side by Side Diff: tools/callstats.py

Issue 2379613002: [tools] Fix typo in callstats.py (Closed)
Patch Set: addressing nit Created 4 years, 2 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 | no next file » | 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/env python 1 #!/usr/bin/env python
2 # Copyright 2016 the V8 project authors. All rights reserved. 2 # Copyright 2016 the V8 project 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 Usage: callstats.py [-h] <command> ... 6 Usage: callstats.py [-h] <command> ...
7 7
8 Optional arguments: 8 Optional arguments:
9 -h, --help show this help message and exit 9 -h, --help show this help message and exit
10 10
(...skipping 28 matching lines...) Expand all
39 def fix_for_printing(arg): 39 def fix_for_printing(arg):
40 m = re.match(r'^--([^=]+)=(.*)$', arg) 40 m = re.match(r'^--([^=]+)=(.*)$', arg)
41 if m and (' ' in m.group(2) or m.group(2).startswith('-')): 41 if m and (' ' in m.group(2) or m.group(2).startswith('-')):
42 arg = "--{}='{}'".format(m.group(1), m.group(2)) 42 arg = "--{}='{}'".format(m.group(1), m.group(2))
43 elif ' ' in arg: 43 elif ' ' in arg:
44 arg = "'{}'".format(arg) 44 arg = "'{}'".format(arg)
45 return arg 45 return arg
46 print " ".join(map(fix_for_printing, cmd_args)) 46 print " ".join(map(fix_for_printing, cmd_args))
47 47
48 48
49 def start_replay_server(args, sites): 49 def start_replay_server(args, sites, discard_output=True):
50 with tempfile.NamedTemporaryFile(prefix='callstats-inject-', suffix='.js', 50 with tempfile.NamedTemporaryFile(prefix='callstats-inject-', suffix='.js',
51 mode='wt', delete=False) as f: 51 mode='wt', delete=False) as f:
52 injection = f.name 52 injection = f.name
53 generate_injection(f, sites, args.refresh) 53 generate_injection(f, sites, args.refresh)
54 http_port = 4080 + args.port_offset 54 http_port = 4080 + args.port_offset
55 https_port = 4443 + args.port_offset 55 https_port = 4443 + args.port_offset
56 cmd_args = [ 56 cmd_args = [
57 args.replay_bin, 57 args.replay_bin,
58 "--port=%s" % http_port, 58 "--port=%s" % http_port,
59 "--ssl_port=%s" % https_port, 59 "--ssl_port=%s" % https_port,
60 "--no-dns_forwarding", 60 "--no-dns_forwarding",
61 "--use_closest_match", 61 "--use_closest_match",
62 "--no-diff_unknown_requests", 62 "--no-diff_unknown_requests",
63 "--inject_scripts=deterministic.js,{}".format(injection), 63 "--inject_scripts=deterministic.js,{}".format(injection),
64 args.replay_wpr, 64 args.replay_wpr,
65 ] 65 ]
66 print "=" * 80 66 print "=" * 80
67 print_command(cmd_args) 67 print_command(cmd_args)
68 with open(os.devnull, 'w') as null: 68 if discard_output:
69 server = subprocess.Popen(cmd_args, stdout=null, stderr=null) 69 with open(os.devnull, 'w') as null:
70 server = subprocess.Popen(cmd_args, stdout=null, stderr=null)
71 else:
72 server = subprocess.Popen(cmd_args)
70 print "RUNNING REPLAY SERVER: %s with PID=%s" % (args.replay_bin, server.pid) 73 print "RUNNING REPLAY SERVER: %s with PID=%s" % (args.replay_bin, server.pid)
71 print "=" * 80 74 print "=" * 80
72 return {'process': server, 'injection': injection} 75 return {'process': server, 'injection': injection}
73 76
74 77
75 def stop_replay_server(server): 78 def stop_replay_server(server):
76 print("SHUTTING DOWN REPLAY SERVER %s" % server['process'].pid) 79 print("SHUTTING DOWN REPLAY SERVER %s" % server['process'].pid)
77 server['process'].terminate() 80 server['process'].terminate()
78 os.remove(server['injection']) 81 os.remove(server['injection'])
79 82
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 288
286 289
287 def do_run_replay_server(args): 290 def do_run_replay_server(args):
288 sites = read_sites(args) 291 sites = read_sites(args)
289 print("- " * 40) 292 print("- " * 40)
290 print("Available URLs:") 293 print("Available URLs:")
291 for site in sites: 294 for site in sites:
292 print(" "+site['url']) 295 print(" "+site['url'])
293 print("- " * 40) 296 print("- " * 40)
294 print("Launch chromium with the following commands for debugging:") 297 print("Launch chromium with the following commands for debugging:")
295 flags = get_chrome_flags("'--runtime-calls-stats --allow-natives-syntax'", 298 flags = get_chrome_flags("'--runtime-call-stats --allow-natives-syntax'",
296 "/var/tmp/`date +%s`") 299 "/var/tmp/`date +%s`")
297 flags += get_chrome_replay_flags(args) 300 flags += get_chrome_replay_flags(args)
298 print(" $CHROMIUM_DIR/out/Release/chomium " + (" ".join(flags)) + " <URL>") 301 print(" $CHROMIUM_DIR/out/Release/chomium " + (" ".join(flags)) + " <URL>")
299 print("- " * 40) 302 print("- " * 40)
300 replay_server = start_replay_server(args, sites) 303 replay_server = start_replay_server(args, sites, discard_output=False)
301 try: 304 try:
302 replay_server['process'].wait() 305 replay_server['process'].wait()
303 finally: 306 finally:
304 stop_replay_server(replay_server) 307 stop_replay_server(replay_server)
305 308
306 309
307 # Calculate statistics. 310 # Calculate statistics.
308 311
309 def statistics(data): 312 def statistics(data):
310 N = len(data) 313 N = len(data)
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 args.error("use either option --sites-file or site URLs") 680 args.error("use either option --sites-file or site URLs")
678 sys.exit(1) 681 sys.exit(1)
679 elif args.command == "run" and not coexist(args.replay_wpr, args.replay_bin): 682 elif args.command == "run" and not coexist(args.replay_wpr, args.replay_bin):
680 args.error("options --replay-wpr and --replay-bin must be used together") 683 args.error("options --replay-wpr and --replay-bin must be used together")
681 sys.exit(1) 684 sys.exit(1)
682 else: 685 else:
683 args.func(args) 686 args.func(args)
684 687
685 if __name__ == "__main__": 688 if __name__ == "__main__":
686 sys.exit(main()) 689 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698