Bug 1438896 : Probe added to count Telemetry failures by ping type , r?chutten draft
authorakriti <akriti.v10@gmail.com>
Tue, 10 Apr 2018 19:20:16 +0530
changeset 779754 61ae2cfb2049586b13d5bd8a338131f6d28f18d0
parent 779723 a8061a09cd7064a8783ca9e67979d77fb52e001e
push id105855
push userbmo:akriti.v10@gmail.com
push dateTue, 10 Apr 2018 13:53:05 +0000
reviewerschutten
bugs1438896
milestone61.0a1
Bug 1438896 : Probe added to count Telemetry failures by ping type , r?chutten MozReview-Commit-ID: DA0LmdRnUUx
toolkit/components/telemetry/Histograms.json
toolkit/components/telemetry/TelemetrySend.jsm
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -7095,16 +7095,29 @@
     "description": "Time needed (in ms) for a failed send of a Telemetry ping to the servers and getting a reply back."
   },
   "TELEMETRY_SEND_FAILURE_TYPE" : {
     "record_in_processes": ["main"],
     "alert_emails": ["telemetry-client-dev@mozilla.com", "chutten@mozilla.com"],
     "bug_numbers": [1367110],
     "expires_in_version": "66",
     "kind": "categorical",
+    "keyed": true,
+    "keys": [
+      "main",
+      "activation",
+      "deletion",
+      "core",
+      "crash",
+      "health",
+      "heartbeat",
+      "modules",
+      "sync",
+      "update"
+    ],
     "labels": [
       "eOK",
       "eRequest",
       "eUnreachable",
       "eChannelOpen",
       "eRedirect",
       "abort",
       "timeout",
--- a/toolkit/components/telemetry/TelemetrySend.jsm
+++ b/toolkit/components/telemetry/TelemetrySend.jsm
@@ -1102,17 +1102,17 @@ var TelemetrySendImpl = {
       // We can't send the pings to the server, so don't try to.
       this._log.trace("_doPing - Can't send ping " + ping.id);
       return Promise.resolve();
     }
 
     if (this._tooLateToSend) {
       // Too late to send now. Reject so we pend the ping to send it next time.
       this._log.trace("_doPing - Too late to send ping " + ping.id);
-      Telemetry.getHistogramById("TELEMETRY_SEND_FAILURE_TYPE").add("eTooLate");
+      Telemetry.getHistogramById("TELEMETRY_SEND_FAILURE_TYPE").add("eTooLate", ping.type);
       return Promise.reject();
     }
 
     this._log.trace("_doPing - server: " + this._server + ", persisted: " + isPersisted +
                     ", id: " + id);
 
     const url = this._buildSubmissionURL(ping);
 
@@ -1157,17 +1157,17 @@ var TelemetrySendImpl = {
 
     let errorhandler = (event) => {
       let failure = event.type;
       if (failure === "error") {
         failure = XHR_ERROR_TYPE[request.errorCode];
       }
 
       TelemetryHealthPing.recordSendFailure(failure);
-      Telemetry.getHistogramById("TELEMETRY_SEND_FAILURE_TYPE").add(failure);
+      Telemetry.getHistogramById("TELEMETRY_SEND_FAILURE_TYPE").add(failure, ping.type);
 
       this._log.error("_doPing - error making request to " + url + ": " + failure);
       onRequestFinished(false, event);
     };
     request.onerror = errorhandler;
     request.ontimeout = errorhandler;
     request.onabort = errorhandler;