bug 1470215 let Telemetry::DNS_NATIVE_QUEUING measure queue times r?mcmanus draft
authorDaniel Stenberg <daniel@haxx.se>
Mon, 25 Jun 2018 08:03:44 +0200
changeset 810074 5e4c3c3ad008c2c8034b40301274aa67ad0dec3a
parent 810007 15c95df467be553beb39f2e8102c206639e05fde
push id113881
push userbmo:daniel@haxx.se
push dateMon, 25 Jun 2018 06:04:04 +0000
reviewersmcmanus
bugs1470215
milestone62.0a1
bug 1470215 let Telemetry::DNS_NATIVE_QUEUING measure queue times r?mcmanus MozReview-Commit-ID: 77FE4SJOXMG
netwerk/dns/nsHostResolver.cpp
toolkit/components/telemetry/Histograms.json
--- 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"