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

Unified Diff: net/cert/multi_threaded_cert_verifier.cc

Issue 225583009: Add Net.CertVerifier_First_Job_Latency metric. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/cert/multi_threaded_cert_verifier.cc
diff --git a/net/cert/multi_threaded_cert_verifier.cc b/net/cert/multi_threaded_cert_verifier.cc
index 4b2f37fbc55b5295e771477c24bef172fd97c0fe..4fa29907a1697c2af97ee768226ddaac437a691b 100644
--- a/net/cert/multi_threaded_cert_verifier.cc
+++ b/net/cert/multi_threaded_cert_verifier.cc
@@ -320,9 +320,11 @@ class CertVerifierWorker {
class CertVerifierJob {
public:
CertVerifierJob(CertVerifierWorker* worker,
+ bool is_first_job,
const BoundNetLog& net_log)
: start_time_(base::TimeTicks::Now()),
worker_(worker),
+ is_first_job_(is_first_job),
net_log_(net_log) {
net_log_.BeginEvent(
NetLog::TYPE_CERT_VERIFIER_JOB,
@@ -351,11 +353,19 @@ class CertVerifierJob {
const MultiThreadedCertVerifier::CachedResult& verify_result) {
worker_ = NULL;
net_log_.EndEvent(NetLog::TYPE_CERT_VERIFIER_JOB);
+ base::TimeDelta latency = base::TimeTicks::Now() - start_time_;
UMA_HISTOGRAM_CUSTOM_TIMES("Net.CertVerifier_Job_Latency",
- base::TimeTicks::Now() - start_time_,
+ latency,
base::TimeDelta::FromMilliseconds(1),
base::TimeDelta::FromMinutes(10),
100);
+ if (is_first_job_) {
+ UMA_HISTOGRAM_CUSTOM_TIMES("Net.CertVerifier_First_Job_Latency",
+ latency,
+ base::TimeDelta::FromMilliseconds(1),
+ base::TimeDelta::FromMinutes(10),
+ 100);
+ }
PostAll(verify_result);
}
@@ -385,6 +395,7 @@ class CertVerifierJob {
const base::TimeTicks start_time_;
std::vector<CertVerifierRequest*> requests_;
CertVerifierWorker* worker_;
+ bool is_first_job_;
const BoundNetLog net_log_;
};
@@ -463,7 +474,7 @@ int MultiThreadedCertVerifier::Verify(X509Certificate* cert,
additional_trust_anchors,
this);
job = new CertVerifierJob(
- worker,
+ worker, requests_ == 1,
BoundNetLog::Make(net_log.net_log(), NetLog::SOURCE_CERT_VERIFIER_JOB));
if (!worker->Start()) {
delete job;
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698