Index: net/socket/ssl_host_info.cc |
diff --git a/net/socket/ssl_host_info.cc b/net/socket/ssl_host_info.cc |
index ce042dee5a8470efd4f79c73534daeb5dcd384e9..fbd715f75ada5cdbb5cc06270ad55dd1854dc9dc 100644 |
--- a/net/socket/ssl_host_info.cc |
+++ b/net/socket/ssl_host_info.cc |
@@ -4,6 +4,7 @@ |
#include "net/socket/ssl_host_info.h" |
+#include "base/metrics/histogram.h" |
#include "base/string_piece.h" |
#include "net/base/cert_verifier.h" |
#include "net/base/ssl_config_service.h" |
@@ -110,6 +111,7 @@ bool SSLHostInfo::Parse(const std::string& data) { |
flags |= X509Certificate::VERIFY_REV_CHECKING_ENABLED; |
verifier_.reset(new CertVerifier); |
VLOG(1) << "Kicking off verification for " << hostname_; |
+ verification_start_time_ = base::TimeTicks::Now(); |
if (verifier_->Verify(cert_.get(), hostname_, flags, |
&cert_verify_result_, callback_) == OK) { |
VerifyCallback(OK); |
@@ -156,6 +158,10 @@ int SSLHostInfo::WaitForCertVerification(CompletionCallback* callback) { |
} |
void SSLHostInfo::VerifyCallback(int rv) { |
Mike Belshe
2010/11/03 19:55:11
nit: add DCHECK(!verification_start_time().is_nul
|
+ base::TimeTicks now = base::TimeTicks::Now(); |
+ const base::TimeDelta duration = now - verification_start_time(); |
+ UMA_HISTOGRAM_TIMES("Net.SSLHostInfoVerificationTimeMs", duration); |
+ VLOG(1) << "Verification took " << duration.InMilliseconds() << "ms"; |
cert_verification_complete_ = true; |
cert_verification_result_ = rv; |
if (cert_verification_callback_) { |