summaryrefslogtreecommitdiffstats
path: root/net/base/host_resolver_impl.cc
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-12 23:04:22 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-12 23:04:22 +0000
commit1ffdda87e3cb1f6183723831cf65d0469495d7cc (patch)
treec7f2e2de911ad3fae40821b77daa2be7dea7ebd3 /net/base/host_resolver_impl.cc
parentaf3fefb3e68563dfaf99631ffb8636709a26f1e8 (diff)
downloadchromium_src-1ffdda87e3cb1f6183723831cf65d0469495d7cc.zip
chromium_src-1ffdda87e3cb1f6183723831cf65d0469495d7cc.tar.gz
chromium_src-1ffdda87e3cb1f6183723831cf65d0469495d7cc.tar.bz2
Add AsyncDNS.DnsClientDisabledReason to record the last error in the streak which disabled DnsClient.
BUG=114833 Review URL: https://codereview.chromium.org/11552023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172687 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/host_resolver_impl.cc')
-rw-r--r--net/base/host_resolver_impl.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/net/base/host_resolver_impl.cc b/net/base/host_resolver_impl.cc
index b56524c..64c9d2a 100644
--- a/net/base/host_resolver_impl.cc
+++ b/net/base/host_resolver_impl.cc
@@ -1411,7 +1411,7 @@ class HostResolverImpl::Job : public PrioritizedDispatcher::Job {
UMA_HISTOGRAM_CUSTOM_ENUMERATION("AsyncDNS.ResolveError",
std::abs(dns_task_error_),
GetAllErrorCodesForUma());
- resolver_->OnDnsTaskResolve(false);
+ resolver_->OnDnsTaskResolve(dns_task_error_);
} else {
DNS_HISTOGRAM("AsyncDNS.FallbackFail", duration);
UmaAsyncDnsResolveStatus(RESOLVE_STATUS_FAIL);
@@ -1474,7 +1474,7 @@ class HostResolverImpl::Job : public PrioritizedDispatcher::Job {
UmaAsyncDnsResolveStatus(RESOLVE_STATUS_DNS_SUCCESS);
RecordTTL(ttl);
- resolver_->OnDnsTaskResolve(true);
+ resolver_->OnDnsTaskResolve(OK);
base::TimeDelta bounded_ttl =
std::max(ttl, base::TimeDelta::FromSeconds(kMinimumTTLSeconds));
@@ -2137,9 +2137,9 @@ bool HostResolverImpl::HaveDnsConfig() const {
return (dns_client_.get() != NULL) && (dns_client_->GetConfig() != NULL);
}
-void HostResolverImpl::OnDnsTaskResolve(bool success) {
+void HostResolverImpl::OnDnsTaskResolve(int net_error) {
DCHECK(dns_client_);
- if (success) {
+ if (net_error == OK) {
num_dns_failures_ = 0;
return;
}
@@ -2151,6 +2151,9 @@ void HostResolverImpl::OnDnsTaskResolve(bool success) {
it->second->AbortDnsTask();
dns_client_->SetConfig(DnsConfig());
UMA_HISTOGRAM_BOOLEAN("AsyncDNS.DnsClientEnabled", false);
+ UMA_HISTOGRAM_CUSTOM_ENUMERATION("AsyncDNS.DnsClientDisabledReason",
+ std::abs(net_error),
+ GetAllErrorCodesForUma());
}
void HostResolverImpl::SetDnsClient(scoped_ptr<DnsClient> dns_client) {