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

Side by Side Diff: net/base/load_timing_info.h

Issue 1828203005: Expose SPDY pushes in DevTools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed tests Created 4 years, 8 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 | « content/common/resource_messages.cc ('k') | net/base/load_timing_info_test_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef NET_BASE_LOAD_TIMING_INFO_H_ 5 #ifndef NET_BASE_LOAD_TIMING_INFO_H_
6 #define NET_BASE_LOAD_TIMING_INFO_H_ 6 #define NET_BASE_LOAD_TIMING_INFO_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/time/time.h" 10 #include "base/time/time.h"
(...skipping 20 matching lines...) Expand all
31 // dns_start 31 // dns_start
32 // dns_end 32 // dns_end
33 // connect_start 33 // connect_start
34 // ssl_start 34 // ssl_start
35 // ssl_end 35 // ssl_end
36 // connect_end 36 // connect_end
37 // send_start 37 // send_start
38 // send_end 38 // send_end
39 // receive_headers_end 39 // receive_headers_end
40 // 40 //
41 // Times represent when a request starts/stops blocking on an event, not the 41 // Times represent when a request starts/stops blocking on an event(*), not the
42 // time the events actually occurred. In particular, in the case of preconnects 42 // time the events actually occurred. In particular, in the case of preconnects
43 // and socket reuse, no time may be spent blocking on establishing a connection. 43 // and socket reuse, no time may be spent blocking on establishing a connection.
44 // In the case of SPDY, PAC scripts are only run once for each shared session, 44 // In the case of SPDY, PAC scripts are only run once for each shared session,
45 // so no time may be spent blocking on them. 45 // so no time may be spent blocking on them.
46 // 46 //
47 // (*) Note 1: push_start and push_end are the exception to this, as they
48 // represent the operation which is asynchronous to normal request flow and
49 // hence are provided as absolute values and not converted to "blocking" time.
50 //
51 // (*) Note 2: Internally to the network stack, times are those of actual event
52 // occurrence. URLRequest converts them to time which the network stack was
53 // blocked on each state, as per resource timing specs.
54 //
47 // DNS and SSL times are both times for the host, not the proxy, so DNS times 55 // DNS and SSL times are both times for the host, not the proxy, so DNS times
48 // when using proxies are null, and only requests to HTTPS hosts (Not proxies) 56 // when using proxies are null, and only requests to HTTPS hosts (Not proxies)
49 // have SSL times. One exception to this is when a proxy server itself returns 57 // have SSL times. One exception to this is when a proxy server itself returns
50 // a redirect response. In this case, the connect times treat the proxy as the 58 // a redirect response. In this case, the connect times treat the proxy as the
51 // host. The send and receive times will all be null, however. 59 // host. The send and receive times will all be null, however.
52 // See HttpNetworkTransaction::OnHttpsProxyTunnelResponse. 60 // See HttpNetworkTransaction::OnHttpsProxyTunnelResponse.
53 // TODO(mmenke): Is this worth fixing? 61 // TODO(mmenke): Is this worth fixing?
54 // 62 //
55 // Note that internal to the network stack, times are when events actually
56 // occurred. URLRequest converts them to time which the network stack was
57 // blocked on each state.
58 struct NET_EXPORT LoadTimingInfo { 63 struct NET_EXPORT LoadTimingInfo {
59 // Contains the LoadTimingInfo events related to establishing a connection. 64 // Contains the LoadTimingInfo events related to establishing a connection.
60 // These are all set by ConnectJobs. 65 // These are all set by ConnectJobs.
61 struct NET_EXPORT_PRIVATE ConnectTiming { 66 struct NET_EXPORT_PRIVATE ConnectTiming {
62 ConnectTiming(); 67 ConnectTiming();
63 ~ConnectTiming(); 68 ~ConnectTiming();
64 69
65 // The time spent looking up the host's DNS address. Null for requests that 70 // The time spent looking up the host's DNS address. Null for requests that
66 // used proxies to look up the DNS address. Also null for SOCKS4 proxies, 71 // used proxies to look up the DNS address. Also null for SOCKS4 proxies,
67 // since the DNS address is only looked up after the connection is 72 // since the DNS address is only looked up after the connection is
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 base::TimeTicks proxy_resolve_end; 134 base::TimeTicks proxy_resolve_end;
130 135
131 ConnectTiming connect_timing; 136 ConnectTiming connect_timing;
132 137
133 // The time that sending HTTP request started / ended. 138 // The time that sending HTTP request started / ended.
134 base::TimeTicks send_start; 139 base::TimeTicks send_start;
135 base::TimeTicks send_end; 140 base::TimeTicks send_end;
136 141
137 // The time at which the end of the HTTP headers were received. 142 // The time at which the end of the HTTP headers were received.
138 base::TimeTicks receive_headers_end; 143 base::TimeTicks receive_headers_end;
144
145 // In case the resource was proactively pushed by the server, these are
146 // the times that push started and ended. Note that push_end will be null
147 // if the request is still being transmitted, i.e. the underlying h2 stream
148 // is not closed by the server.
149 base::TimeTicks push_start;
150 base::TimeTicks push_end;
139 }; 151 };
140 152
141 } // namespace net 153 } // namespace net
142 154
143 #endif // NET_BASE_LOAD_TIMING_INFO_H_ 155 #endif // NET_BASE_LOAD_TIMING_INFO_H_
OLDNEW
« no previous file with comments | « content/common/resource_messages.cc ('k') | net/base/load_timing_info_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698