Fix some prefs and match new schema

This commit is contained in:
Rehan Dalal 2018-01-29 22:27:30 -05:00
Родитель e720b5fbc1
Коммит 3cc9dc4388
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 410D198EEF339E0B
3 изменённых файлов: 48 добавлений и 57 удалений

Просмотреть файл

@ -4,10 +4,10 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
const EXPORTED_SYMBOLS = ["Config"];
const TELEMETRY_ENV_PREF = "extensions.pioneer-online-news.telemetryEnv";
const LOG_INTERVAL_PREF = "extensions.pioneer-online-news.logSubmissionInterval";
const IDLE_DELAY_PREF = "extensions.pioneer-online-news.idleDelaySeconds";
const LOG_UPLOAD_ATTEMPT_PREF = "extensions.pioneer-online-news.logUploadAttemptInterval";
const TELEMETRY_ENV_PREF = "extensions.pioneer-pathfinder.telemetryEnv";
const LOG_INTERVAL_PREF = "extensions.pioneer-pathfinder.logSubmissionInterval";
const IDLE_DELAY_PREF = "extensions.pioneer-pathfinder.idleDelaySeconds";
const LOG_UPLOAD_ATTEMPT_PREF = "extensions.pioneer-pathfinder.logUploadAttemptInterval";
const SECOND = 1000;
const MINUTE = 60 * SECOND;
@ -17,10 +17,9 @@ const WEEK = 7 * DAY;
const Config = {
addonId: "pioneer-study-pathfinder@pioneer.mozilla.org",
studyName: "online-news",
studyName: "pathfinder",
branches: [
{ name: "control", weight: 1 },
{ name: "treatment", weight: 1, showDoorhanger: true },
],
telemetryEnv: Services.prefs.getCharPref(TELEMETRY_ENV_PREF, "prod"),

22
extension/bootstrap.js поставляемый
Просмотреть файл

@ -36,7 +36,7 @@ const REASONS = {
ADDON_DOWNGRADE: 8, // The add-on is being downgraded.
};
const UI_AVAILABLE_NOTIFICATION = "sessionstore-windows-restored";
const EXPIRATION_DATE_PREF = "extensions.pioneer-online-news.expirationDate";
const EXPIRATION_DATE_PREF = "extensions.pioneer-pathfinder.expirationDate";
let isStartupFinished;
@ -55,12 +55,12 @@ this.Bootstrap = {
return;
}
const entries = [{
url: 'pathfinder',
const payload = {
eventId: 'startup',
timestamp: Math.round(Date.now() / 1000),
details: `startup:${reason}`,
}];
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, { entries });
context: `${reason}`,
};
await Pioneer.utils.submitEncryptedPing("pathfinder-event", 1, payload);
// Always set EXPIRATION_DATE_PREF if it not set, even if outside of install.
// This is a failsafe if opt-out expiration doesn't work, so should be resilient.
@ -109,12 +109,12 @@ this.Bootstrap = {
// It must already be removed!
}
const entries = [{
url: 'pathfinder',
const payload = {
eventId: 'shutdown',
timestamp: Math.round(Date.now() / 1000),
details: `shutdown:${reason}`,
}];
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, { entries });
context: `${reason}`,
};
await Pioneer.utils.submitEncryptedPing("pathfinder-event", 1, payload);
if (isStartupFinished) {
LogHandler.shutdown();

Просмотреть файл

@ -58,22 +58,22 @@ this.LogHandler = {
},
async handleInterval() {
const entries = [{
url: "pathfinder",
const payload = {
eventId: "intervalFired",
timestamp: Math.round(Date.now() / 1000),
details: "intervalFired",
}];
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, { entries });
context: "",
};
await Pioneer.utils.submitEncryptedPing("pathfinder-event", 1, payload);
this.uploadPings("interval");
},
async handleTimer() {
const entries = [{
url: "pathfinder",
const payload = {
eventId: "timerFired",
timestamp: Math.round(Date.now() / 1000),
details: "timerFired",
}];
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, { entries });
context: "",
};
await Pioneer.utils.submitEncryptedPing("pathfinder-log", 1, payload);
this.uploadPings("timer");
},
@ -91,10 +91,10 @@ this.LogHandler = {
// Calculate and cache the size increase of adding one entry to a ping
let sizeDelta = perEntryPingSizeIncrease[type];
if (!sizeDelta) {
const oneEntrySize = await Pioneer.utils.getEncryptedPingSize("online-news-log", 1, {
const oneEntrySize = await Pioneer.utils.getEncryptedPingSize("pathfinder-log", 1, {
entries: [entry],
});
const twoEntrySize = await Pioneer.utils.getEncryptedPingSize("online-news-log", 1, {
const twoEntrySize = await Pioneer.utils.getEncryptedPingSize("pathfinder-log", 1, {
entries: [
entry,
entry,
@ -108,20 +108,16 @@ this.LogHandler = {
const entries = Array(entryCount).fill(entry);
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, {
entries: [{
url: "pathfinder",
timestamp: Math.round(Date.now() / 1000),
details: `pingsGenerated:${pingCount}`,
}]
await Pioneer.utils.submitEncryptedPing("pathfinder-event", 1, {
eventId: "pingsGenerated",
timestamp: Math.round(Date.now() / 1000),
context: `${pingCount}`,
});
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, {
entries: [{
url: "pathfinder",
timestamp: Math.round(Date.now() / 1000),
details: `entriesGenerated:${entries.length}`,
}]
await Pioneer.utils.submitEncryptedPing("pathfinder-event", 1, {
eventId: "entriesGenerated",
timestamp: Math.round(Date.now() / 1000),
context: `${entries.length}`,
});
return entries;
@ -139,20 +135,18 @@ this.LogHandler = {
let entries = await this.generateEntries(type);
let payload = { entries };
const entriesPingSize = await Pioneer.utils.getEncryptedPingSize(
"online-news-log", 1, payload
"pathfinder-log", 1, payload
);
if (entriesPingSize < UPLOAD_LIMIT) {
// If the ping is small enough, just submit it directly
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, payload);
await Pioneer.utils.submitEncryptedPing("pathfinder-log", 1, payload);
PrefUtils.setLongPref(uploadDatePrefName, Date.now());
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, {
entries: [{
url: "pathfinder",
timestamp: Math.round(Date.now() / 1000),
details: "pingsSent:1",
}]
await Pioneer.utils.submitEncryptedPing("pathfinder-event", 1, {
eventId: "pingsSent",
timestamp: Math.round(Date.now() / 1000),
context: "1",
});
} else {
// Otherwise, break it into batches below the minimum size
@ -169,7 +163,7 @@ this.LogHandler = {
batch = entries.splice(0, batchSize);
payload = { entries: batch };
const batchPingSize = await Pioneer.utils.getEncryptedPingSize(
"online-news-log", 1, payload
"pathfinder-log", 1, payload
);
if (batchPingSize >= UPLOAD_LIMIT) {
@ -180,16 +174,14 @@ this.LogHandler = {
continue;
}
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, payload);
await Pioneer.utils.submitEncryptedPing("pathfinder-log", 1, payload);
pingCount++;
}
await Pioneer.utils.submitEncryptedPing("online-news-log", 1, {
entries: [{
url: "pathfinder",
timestamp: Math.round(Date.now() / 1000),
details: `pingsSent:${pingCount}`,
}]
await Pioneer.utils.submitEncryptedPing("pathfinder-event", 1, {
eventId: "pingsSent",
timestamp: Math.round(Date.now() / 1000),
context: `${pingCount}`,
});
PrefUtils.setLongPref(uploadDatePrefName, Date.now());