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

Unified Diff: net/quic/chromium/quic_chromium_client_session.cc

Issue 2821053004: Revert of Remove the code to store and load QUIC server configs in the disk cache. (Closed)
Patch Set: Created 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/chromium/properties_based_quic_server_info_test.cc ('k') | net/quic/chromium/quic_server_info.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/chromium/quic_chromium_client_session.cc
diff --git a/net/quic/chromium/quic_chromium_client_session.cc b/net/quic/chromium/quic_chromium_client_session.cc
index cfac1d3ba6053bdc7bf088ad023219faf48759b9..ba6c37c3c5faa43607fac245ee8ce90dc5dfccfb 100644
--- a/net/quic/chromium/quic_chromium_client_session.cc
+++ b/net/quic/chromium/quic_chromium_client_session.cc
@@ -375,8 +375,24 @@
round_trip_handshakes, 1, 3, 4);
}
}
-
const QuicConnectionStats stats = connection()->GetStats();
+ if (server_info_ && stats.min_rtt_us > 0) {
+ base::TimeTicks wait_for_data_start_time =
+ server_info_->wait_for_data_start_time();
+ base::TimeTicks wait_for_data_end_time =
+ server_info_->wait_for_data_end_time();
+ if (!wait_for_data_start_time.is_null() &&
+ !wait_for_data_end_time.is_null()) {
+ base::TimeDelta wait_time =
+ wait_for_data_end_time - wait_for_data_start_time;
+ const base::HistogramBase::Sample kMaxWaitToRtt = 1000;
+ base::HistogramBase::Sample wait_to_rtt =
+ static_cast<base::HistogramBase::Sample>(
+ 100 * wait_time.InMicroseconds() / stats.min_rtt_us);
+ UMA_HISTOGRAM_CUSTOM_COUNTS("Net.QuicServerInfo.WaitForDataReadyToRtt",
+ wait_to_rtt, 1, kMaxWaitToRtt, 50);
+ }
+ }
// The MTU used by QUIC is limited to a fairly small set of predefined values
// (initial values and MTU discovery values), but does not fare well when
@@ -841,6 +857,21 @@
UMA_HISTOGRAM_TIMES(
"Net.QuicSession.HandshakeConfirmedTime",
connect_timing_.connect_end - connect_timing_.connect_start);
+
+ if (server_info_) {
+ // TODO(rtenneti): Should we delete this histogram?
+ // Track how long it has taken to finish handshake once we start waiting
+ // for reading of QUIC server information from disk cache. We could use
+ // this data to compare total time taken if we were to cancel the disk
+ // cache read vs waiting for the read to complete.
+ base::TimeTicks wait_for_data_start_time =
+ server_info_->wait_for_data_start_time();
+ if (!wait_for_data_start_time.is_null()) {
+ UMA_HISTOGRAM_TIMES(
+ "Net.QuicServerInfo.WaitForDataReady.HandshakeConfirmedTime",
+ base::TimeTicks::Now() - wait_for_data_start_time);
+ }
+ }
// Track how long it has taken to finish handshake after we have finished
// DNS host resolution.
if (!connect_timing_.dns_end.is_null()) {
@@ -855,6 +886,8 @@
++it;
observer->OnCryptoHandshakeConfirmed();
}
+ if (server_info_)
+ server_info_->OnExternalCacheHit();
}
QuicSpdySession::OnCryptoHandshakeEvent(event);
}
« no previous file with comments | « net/quic/chromium/properties_based_quic_server_info_test.cc ('k') | net/quic/chromium/quic_server_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698