summaryrefslogtreecommitdiffstats
path: root/net/dns/dns_transaction.cc
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-08 20:02:29 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-08 20:02:29 +0000
commitb917ccf89c3b0bec7d99806d0974a8a0893fa85c (patch)
tree5149464d466bfae9de65a33348be77e2850f7ff8 /net/dns/dns_transaction.cc
parent5fd71061407e097829542e1998496c334b3bf569 (diff)
downloadchromium_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.cc11
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_;