diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-12 23:04:22 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-12 23:04:22 +0000 |
commit | 1ffdda87e3cb1f6183723831cf65d0469495d7cc (patch) | |
tree | c7f2e2de911ad3fae40821b77daa2be7dea7ebd3 /net/base/host_resolver_impl.cc | |
parent | af3fefb3e68563dfaf99631ffb8636709a26f1e8 (diff) | |
download | chromium_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.cc | 11 |
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) { |