bug 1470215 let Telemetry::DNS_NATIVE_QUEUING measure queue times r?mcmanus
MozReview-Commit-ID: 77FE4SJOXMG
--- a/netwerk/dns/nsHostResolver.cpp
+++ b/netwerk/dns/nsHostResolver.cpp
@@ -1809,16 +1809,19 @@ nsHostResolver::ThreadFunc()
rec.swap(tmpRec);
}
LOG(("DNS lookup thread - Calling getaddrinfo for host [%s].\n",
rec->host.get()));
TimeStamp startTime = TimeStamp::Now();
bool getTtl = rec->mGetTtl;
+ TimeDuration inQueue = startTime - rec->mNativeStart;
+ uint32_t ms = static_cast<uint32_t>(inQueue.ToMilliseconds());
+ Telemetry::Accumulate(Telemetry::DNS_NATIVE_QUEUING, ms);
nsresult status = GetAddrInfo(rec->host, rec->af,
rec->flags, &ai,
getTtl);
#if defined(RES_RETRY_ON_FAILURE)
if (NS_FAILED(status) && rs.Reset()) {
status = GetAddrInfo(rec->host, rec->af,
rec->flags, &ai, getTtl);
}
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -3250,16 +3250,27 @@
"kind": "exponential",
"high": 60000,
"releaseChannelCollection": "opt-out",
"alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
"bug_numbers": [1434852],
"n_buckets": 50,
"description": "Time for a completed native name resolution (msec)"
},
+ "DNS_NATIVE_QUEUING": {
+ "record_in_processes": ["main"],
+ "expires_in_version": "never",
+ "kind": "exponential",
+ "high": 60000,
+ "releaseChannelCollection": "opt-out",
+ "alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
+ "bug_numbers": [1470215],
+ "n_buckets": 50,
+ "description": "Time in resolve queue waiting to getaddrinfo (msec)"
+ },
"DNS_TRR_RACE": {
"record_in_processes": ["main"],
"alert_emails": ["necko@mozilla.com", "dstenberg@mozilla.com"],
"expires_in_version": "never",
"kind": "categorical",
"labels": ["TRRFasterBy50", "TRRFaster", "NativeFaster", "NativeFasterBy50"],
"bug_numbers": [1434852],
"description": "DNS: TRR parallel resolve racing results"