OLD | NEW |
---|---|
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 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 """Lens for resource load queuing. | 5 """Lens for resource load queuing. |
6 | 6 |
7 When executed as a script, takes a loading trace and prints queuing information | 7 When executed as a script, takes a loading trace and prints queuing information |
8 for each request. | 8 for each request. |
9 """ | 9 """ |
10 | 10 |
11 import collections | 11 import collections |
12 import itertools | 12 import itertools |
13 import logging | 13 import logging |
14 | 14 |
15 import tracing | 15 import clovis_constants |
16 | 16 |
17 | 17 |
18 class QueuingLens(object): | 18 class QueuingLens(object): |
19 """Attaches queuing related trace events to request objects.""" | 19 """Attaches queuing related trace events to request objects.""" |
20 QUEUING_CATEGORY = tracing.QUEUING_CATEGORY | 20 QUEUING_CATEGORY = clovis_constants.QUEUING_CATEGORY |
blundell
2016/06/06 16:06:38
nit: maybe this should still be defined in tracing
gabadie
2016/06/06 16:17:30
Curious: why would only this category be defined i
pasko
2016/06/06 17:30:52
I am concerned with clovis_constants.py and tracin
gabadie
2016/06/06 17:37:10
To me it just looks fine as is.
| |
21 ASYNC_NAME = 'ScheduledResourceRequest' | 21 ASYNC_NAME = 'ScheduledResourceRequest' |
22 READY_NAME = 'ScheduledResourceRequest.Ready' | 22 READY_NAME = 'ScheduledResourceRequest.Ready' |
23 SET_PRIORITY_NAME = 'ScheduledResourceRequest.SetPriority' | 23 SET_PRIORITY_NAME = 'ScheduledResourceRequest.SetPriority' |
24 QUEUING_NAMES = set([ASYNC_NAME, | 24 QUEUING_NAMES = set([ASYNC_NAME, |
25 READY_NAME, | 25 READY_NAME, |
26 SET_PRIORITY_NAME]) | 26 SET_PRIORITY_NAME]) |
27 | 27 |
28 IN_FLIGHT_NAME = 'ResourceScheduler::Client.InFlightRequests' | 28 IN_FLIGHT_NAME = 'ResourceScheduler::Client.InFlightRequests' |
29 SHOULD_START_NAME = 'ResourceScheduler::Client::ShouldStartRequestInfo' | 29 SHOULD_START_NAME = 'ResourceScheduler::Client::ShouldStartRequestInfo' |
30 | 30 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
152 fp=rq.fingerprint, | 152 fp=rq.fingerprint, |
153 ts=mkmsec(info.start_msec), te=mkmsec(info.end_msec), | 153 ts=mkmsec(info.start_msec), te=mkmsec(info.end_msec), |
154 rs=mkmsec(rq.start_msec), re=mkmsec(rq.end_msec), | 154 rs=mkmsec(rq.start_msec), re=mkmsec(rq.end_msec), |
155 ids=info.source_ids, url=rq.url) | 155 ids=info.source_ids, url=rq.url) |
156 for blocking_request in info.blocking: | 156 for blocking_request in info.blocking: |
157 print ' {} {}'.format(blocking_request.fingerprint, blocking_request.url) | 157 print ' {} {}'.format(blocking_request.fingerprint, blocking_request.url) |
158 | 158 |
159 if __name__ == '__main__': | 159 if __name__ == '__main__': |
160 import sys | 160 import sys |
161 _Main(sys.argv[1]) | 161 _Main(sys.argv[1]) |
OLD | NEW |