Bug 1438896 : Probe added to count Telemetry failures by ping type , r?chutten
MozReview-Commit-ID: DA0LmdRnUUx
--- 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;