Index: net/quic/quic_client_session.cc |
diff --git a/net/quic/quic_client_session.cc b/net/quic/quic_client_session.cc |
index a218dcd5c4ee719ca4b31cdcf76a0b5a9ba8d196..8bfc3a2928b6af07c3f5e8307b299a88c5fac617 100644 |
--- a/net/quic/quic_client_session.cc |
+++ b/net/quic/quic_client_session.cc |
@@ -435,6 +435,7 @@ bool QuicClientSession::GetSSLInfo(SSLInfo* ssl_info) const { |
int QuicClientSession::CryptoConnect(bool require_confirmation, |
const CompletionCallback& callback) { |
require_confirmation_ = require_confirmation; |
+ handshake_start_ = base::TimeTicks::Now(); |
RecordHandshakeState(STATE_STARTED); |
if (!crypto_stream_->CryptoConnect()) { |
// TODO(wtc): change crypto_stream_.CryptoConnect() to return a |
@@ -544,6 +545,8 @@ void QuicClientSession::OnCryptoHandshakeEvent(CryptoHandshakeEvent event) { |
base::ResetAndReturn(&callback_).Run(OK); |
} |
if (event == HANDSHAKE_CONFIRMED) { |
+ UMA_HISTOGRAM_TIMES("Net.QuicSession.HandshakeConfirmedTime", |
+ base::TimeTicks::Now() - handshake_start_); |
ObserverSet::iterator it = observers_.begin(); |
while (it != observers_.end()) { |
Observer* observer = *it; |