OLD | NEW |
1 # Copyright (c) 2016 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2016 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 """The request data track. | 5 """The request data track. |
6 | 6 |
7 When executed, parses a JSON dump of DevTools messages. | 7 When executed, parses a JSON dump of DevTools messages. |
8 """ | 8 """ |
9 | 9 |
10 import bisect | 10 import bisect |
11 import collections | 11 import collections |
12 import copy | 12 import copy |
13 import json | 13 import json |
14 import logging | 14 import logging |
15 import re | 15 import re |
16 import urlparse | 16 import urlparse |
17 | 17 |
18 import devtools_monitor | 18 import devtools_monitor |
19 | 19 |
20 | 20 |
21 _TIMING_NAMES_MAPPING = { | 21 _TIMING_NAMES_MAPPING = { |
22 'connectEnd': 'connect_end', 'connectStart': 'connect_start', | 22 'connectEnd': 'connect_end', 'connectStart': 'connect_start', |
23 'dnsEnd': 'dns_end', 'dnsStart': 'dns_start', 'proxyEnd': 'proxy_end', | 23 'dnsEnd': 'dns_end', 'dnsStart': 'dns_start', 'proxyEnd': 'proxy_end', |
24 'proxyStart': 'proxy_start', 'receiveHeadersEnd': 'receive_headers_end', | 24 'proxyStart': 'proxy_start', 'receiveHeadersEnd': 'receive_headers_end', |
25 'requestTime': 'request_time', 'sendEnd': 'send_end', | 25 'requestTime': 'request_time', 'sendEnd': 'send_end', |
26 'sendStart': 'send_start', 'sslEnd': 'ssl_end', 'sslStart': 'ssl_start', | 26 'sendStart': 'send_start', 'sslEnd': 'ssl_end', 'sslStart': 'ssl_start', |
27 'workerReady': 'worker_ready', 'workerStart': 'worker_start', | 27 'workerReady': 'worker_ready', 'workerStart': 'worker_start', |
28 'loadingFinished': 'loading_finished'} | 28 'loadingFinished': 'loading_finished', 'pushStart' : 'push_start', |
| 29 'pushEnd' : 'push_end'} |
29 | 30 |
30 Timing = collections.namedtuple('Timing', _TIMING_NAMES_MAPPING.values()) | 31 Timing = collections.namedtuple('Timing', _TIMING_NAMES_MAPPING.values()) |
31 | 32 |
32 | 33 |
33 def ShortName(url): | 34 def ShortName(url): |
34 """Returns a shortened version of a URL.""" | 35 """Returns a shortened version of a URL.""" |
35 parsed = urlparse.urlparse(url) | 36 parsed = urlparse.urlparse(url) |
36 path = parsed.path | 37 path = parsed.path |
37 hostname = parsed.hostname if parsed.hostname else '?.?.?' | 38 hostname = parsed.hostname if parsed.hostname else '?.?.?' |
38 if path != '' and path != '/': | 39 if path != '' and path != '/': |
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 | 597 |
597 | 598 |
598 if __name__ == '__main__': | 599 if __name__ == '__main__': |
599 import json | 600 import json |
600 import sys | 601 import sys |
601 events = json.load(open(sys.argv[1], 'r')) | 602 events = json.load(open(sys.argv[1], 'r')) |
602 request_track = RequestTrack(None) | 603 request_track = RequestTrack(None) |
603 for event in events: | 604 for event in events: |
604 event_method = event['method'] | 605 event_method = event['method'] |
605 request_track.Handle(event_method, event) | 606 request_track.Handle(event_method, event) |
OLD | NEW |