Bug 1527656 - Don't throw on recordEvent an unknown event r=janerik

Differential Revision: https://phabricator.services.mozilla.com/D71189
This commit is contained in:
Chris H-C 2020-04-16 16:03:24 +00:00
parent b69a3cb639
commit 5ed141e8c5
2 changed files with 7 additions and 21 deletions

View File

@ -904,10 +904,12 @@ nsresult TelemetryEvent::RecordEvent(const nsACString& aCategory,
// Trigger warnings or errors where needed.
switch (res) {
case RecordEventResult::UnknownEvent: {
JS_ReportErrorASCII(cx, R"(Unknown event: ["%s", "%s", "%s"])",
nsPrintfCString msg(R"(Unknown event: ["%s", "%s", "%s"])",
PromiseFlatCString(aCategory).get(),
PromiseFlatCString(aMethod).get(),
PromiseFlatCString(aObject).get());
LogToBrowserConsole(nsIScriptError::errorFlag,
NS_ConvertUTF8toUTF16(msg));
return NS_OK;
}
case RecordEventResult::InvalidExtraKey: {

View File

@ -294,23 +294,11 @@ add_task(async function test_recording() {
checkEventSummary(Object.values(summaries), true);
// The following should not result in any recorded events.
Assert.throws(
() => Telemetry.recordEvent("unknown.category", "test1", "object1"),
/Error: Unknown event: \["unknown.category", "test1", "object1"\]/,
"Should throw on unknown category."
);
Telemetry.recordEvent("unknown.category", "test1", "object1");
checkRecordingFailure(0 /* UnknownEvent */);
Assert.throws(
() => Telemetry.recordEvent("telemetry.test", "unknown", "object1"),
/Error: Unknown event: \["telemetry.test", "unknown", "object1"\]/,
"Should throw on unknown method."
);
Telemetry.recordEvent("telemetry.test", "unknown", "object1");
checkRecordingFailure(0 /* UnknownEvent */);
Assert.throws(
() => Telemetry.recordEvent("telemetry.test", "test1", "unknown"),
/Error: Unknown event: \["telemetry.test", "test1", "unknown"\]/,
"Should throw on unknown object."
);
Telemetry.recordEvent("telemetry.test", "test1", "unknown");
checkRecordingFailure(0 /* UnknownEvent */);
let checkEvents = (events, expectedEvents) => {
@ -632,11 +620,7 @@ add_task(async function test_dynamicEvents() {
Telemetry.recordEvent("telemetry.test.dynamic", "test4", "object1", null);
// Test recording an unknown event.
Assert.throws(
() => Telemetry.recordEvent("telemetry.test.dynamic", "unknown", "unknown"),
/Error: Unknown event: \["telemetry\.test\.dynamic", "unknown", "unknown"\]/,
"Should throw when recording an unknown dynamic event."
);
Telemetry.recordEvent("telemetry.test.dynamic", "unknown", "unknown");
checkRecordingFailure(0 /* UnknownEvent */);
// Now check that the snapshot contains the expected data.