diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-08 20:02:29 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-08 20:02:29 +0000 |
commit | b917ccf89c3b0bec7d99806d0974a8a0893fa85c (patch) | |
tree | 5149464d466bfae9de65a33348be77e2850f7ff8 /net/dns/dns_transaction.cc | |
parent | 5fd71061407e097829542e1998496c334b3bf569 (diff) | |
download | chromium_src-b917ccf89c3b0bec7d99806d0974a8a0893fa85c.zip chromium_src-b917ccf89c3b0bec7d99806d0974a8a0893fa85c.tar.gz chromium_src-b917ccf89c3b0bec7d99806d0974a8a0893fa85c.tar.bz2 |
[net/dns] Add AsyncDNS.SuffixSearchLength histogram.
BUG=174992
Review URL: https://chromiumcodereview.appspot.com/12224059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181536 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/dns/dns_transaction.cc')
-rw-r--r-- | net/dns/dns_transaction.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc index 545cce2..ad8e491 100644 --- a/net/dns/dns_transaction.cc +++ b/net/dns/dns_transaction.cc @@ -502,6 +502,7 @@ class DnsTransactionImpl : public DnsTransaction, qtype_(qtype), callback_(callback), net_log_(net_log), + qnames_initial_size_(0), had_tcp_attempt_(false), first_server_index_(0) { DCHECK(session_); @@ -534,6 +535,9 @@ class DnsTransactionImpl : public DnsTransaction, base::Bind(&NetLogStartCallback, &hostname_, qtype_)); int rv = PrepareSearch(); if (rv == OK) { + qnames_initial_size_ = qnames_.size(); + if (qtype_ == dns_protocol::kTypeA) + UMA_HISTOGRAM_COUNTS("AsyncDns.SuffixSearchStart", qnames_.size()); AttemptResult result = ProcessAttemptResult(StartQuery()); if (result.rv == OK) { // DnsTransaction must never succeed synchronously. @@ -619,6 +623,12 @@ class DnsTransactionImpl : public DnsTransaction, timer_.Stop(); + if (response && qtype_ == dns_protocol::kTypeA) { + UMA_HISTOGRAM_COUNTS("AsyncDns.SuffixSearchRemain", qnames_.size()); + UMA_HISTOGRAM_COUNTS("AsyncDns.SuffixSearchDone", + qnames_initial_size_ - qnames_.size()); + } + DnsTransactionFactory::CallbackType callback = callback_; callback_.Reset(); @@ -824,6 +834,7 @@ class DnsTransactionImpl : public DnsTransaction, // Search list of fully-qualified DNS names to query next (in DNS format). std::deque<std::string> qnames_; + size_t qnames_initial_size_; // List of attempts for the current name. ScopedVector<DnsAttempt> attempts_; |