| OLD | NEW |
| 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: runtime-call-stats.py [-h] <command> ... | 6 Usage: runtime-call-stats.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 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 310 'stddev': stddev, 'min': low, 'max': high, 'ci': ci } | 310 'stddev': stddev, 'min': low, 'max': high, 'ci': ci } |
| 311 | 311 |
| 312 | 312 |
| 313 def read_stats(path, domain, args): | 313 def read_stats(path, domain, args): |
| 314 groups = []; | 314 groups = []; |
| 315 if args.aggregate: | 315 if args.aggregate: |
| 316 groups = [ | 316 groups = [ |
| 317 ('Group-IC', re.compile(".*IC.*")), | 317 ('Group-IC', re.compile(".*IC.*")), |
| 318 ('Group-Optimize', | 318 ('Group-Optimize', |
| 319 re.compile("StackGuard|.*Optimize.*|.*Deoptimize.*|Recompile.*")), | 319 re.compile("StackGuard|.*Optimize.*|.*Deoptimize.*|Recompile.*")), |
| 320 ('Group-Compile', re.compile("Compile.*")), | 320 ('Group-Compile', re.compile(".*Compile.*")), |
| 321 ('Group-Parse', re.compile("Parse.*")), | 321 ('Group-Parse', re.compile(".*Parse.*")), |
| 322 ('Group-Callback', re.compile("Callback$")), | 322 ('Group-Callback', re.compile(".*Callback.*")), |
| 323 ('Group-API', re.compile("API.*")), | 323 ('Group-API', re.compile(".*API.*")), |
| 324 ('Group-GC', re.compile("GC|AllocateInTargetSpace")), | 324 ('Group-GC', re.compile("GC|AllocateInTargetSpace")), |
| 325 ('Group-JavaScript', re.compile("JS_Execution")), | 325 ('Group-JavaScript', re.compile("JS_Execution")), |
| 326 ('Group-Runtime', re.compile(".*"))] | 326 ('Group-Runtime', re.compile(".*"))] |
| 327 with open(path, "rt") as f: | 327 with open(path, "rt") as f: |
| 328 # Process the whole file and sum repeating entries. | 328 # Process the whole file and sum repeating entries. |
| 329 entries = { 'Sum': {'time': 0, 'count': 0} } | 329 entries = { 'Sum': {'time': 0, 'count': 0} } |
| 330 for group_name, regexp in groups: | 330 for group_name, regexp in groups: |
| 331 entries[group_name] = { 'time': 0, 'count': 0 } | 331 entries[group_name] = { 'time': 0, 'count': 0 } |
| 332 for line in f: | 332 for line in f: |
| 333 line = line.strip() | 333 line = line.strip() |
| (...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 629 args.error("use either option --sites-file or site URLs") | 629 args.error("use either option --sites-file or site URLs") |
| 630 sys.exit(1) | 630 sys.exit(1) |
| 631 elif args.command == "run" and not coexist(args.replay_wpr, args.replay_bin): | 631 elif args.command == "run" and not coexist(args.replay_wpr, args.replay_bin): |
| 632 args.error("options --replay-wpr and --replay-bin must be used together") | 632 args.error("options --replay-wpr and --replay-bin must be used together") |
| 633 sys.exit(1) | 633 sys.exit(1) |
| 634 else: | 634 else: |
| 635 args.func(args) | 635 args.func(args) |
| 636 | 636 |
| 637 if __name__ == "__main__": | 637 if __name__ == "__main__": |
| 638 sys.exit(main()) | 638 sys.exit(main()) |
| OLD | NEW |