summaryrefslogtreecommitdiff
path: root/components/migration
diff options
context:
space:
mode:
Diffstat (limited to 'components/migration')
-rw-r--r--components/migration/AutoMigrate.jsm32
-rw-r--r--components/migration/FirefoxProfileMigrator.js71
-rw-r--r--components/migration/MigrationUtils.jsm26
-rw-r--r--components/migration/content/migration.js68
4 files changed, 1 insertions, 196 deletions
diff --git a/components/migration/AutoMigrate.jsm b/components/migration/AutoMigrate.jsm
index 003f70d..93f1612 100644
--- a/components/migration/AutoMigrate.jsm
+++ b/components/migration/AutoMigrate.jsm
@@ -93,30 +93,20 @@ const AutoMigrate = {
* failed for some reason.
*/
migrate(profileStartup, migratorKey, profileToMigrate) {
- let histogram = Services.telemetry.getHistogramById(
- "FX_STARTUP_MIGRATION_AUTOMATED_IMPORT_PROCESS_SUCCESS");
- histogram.add(0);
let {migrator, pickedKey} = this.pickMigrator(migratorKey);
- histogram.add(5);
profileToMigrate = this.pickProfile(migrator, profileToMigrate);
- histogram.add(10);
let resourceTypes = migrator.getMigrateData(profileToMigrate, profileStartup);
if (!(resourceTypes & this.resourceTypesToUse)) {
throw new Error("No usable resources were found for the selected browser!");
}
- histogram.add(15);
let sawErrors = false;
let migrationObserver = (subject, topic) => {
if (topic == "Migration:ItemError") {
sawErrors = true;
} else if (topic == "Migration:Ended") {
- histogram.add(25);
- if (sawErrors) {
- histogram.add(26);
- }
Services.obs.removeObserver(migrationObserver, "Migration:Ended");
Services.obs.removeObserver(migrationObserver, "Migration:ItemError");
Services.prefs.setCharPref(kAutoMigrateBrowserPref, pickedKey);
@@ -132,7 +122,6 @@ const AutoMigrate = {
Services.obs.addObserver(migrationObserver, "Migration:Ended", false);
Services.obs.addObserver(migrationObserver, "Migration:ItemError", false);
migrator.migrate(this.resourceTypesToUse, profileStartup, profileToMigrate);
- histogram.add(20);
},
/**
@@ -209,50 +198,35 @@ const AutoMigrate = {
undo: Task.async(function* () {
let browserId = Preferences.get(kAutoMigrateBrowserPref, "unknown");
- let histogram = Services.telemetry.getHistogramById("FX_STARTUP_MIGRATION_AUTOMATED_IMPORT_UNDO");
- histogram.add(0);
if (!(yield this.canUndo())) {
- histogram.add(5);
throw new Error("Can't undo!");
}
this._pendingUndoTasks = true;
this._removeNotificationBars();
- histogram.add(10);
let readPromise = OS.File.read(kUndoStateFullPath, {
encoding: "utf-8",
compression: "lz4",
});
let stateData = this._dejsonifyUndoState(yield readPromise);
- histogram.add(12);
this._errorMap = {bookmarks: 0, visits: 0, logins: 0};
- let reportErrorTelemetry = (type) => {
- let histogramId = `FX_STARTUP_MIGRATION_UNDO_${type.toUpperCase()}_ERRORCOUNT`;
- Services.telemetry.getKeyedHistogramById(histogramId).add(browserId, this._errorMap[type]);
- };
yield this._removeUnchangedBookmarks(stateData.get("bookmarks")).catch(ex => {
Cu.reportError("Uncaught exception when removing unchanged bookmarks!");
Cu.reportError(ex);
});
- reportErrorTelemetry("bookmarks");
- histogram.add(15);
yield this._removeSomeVisits(stateData.get("visits")).catch(ex => {
Cu.reportError("Uncaught exception when removing history visits!");
Cu.reportError(ex);
});
- reportErrorTelemetry("visits");
- histogram.add(20);
yield this._removeUnchangedLogins(stateData.get("logins")).catch(ex => {
Cu.reportError("Uncaught exception when removing unchanged logins!");
Cu.reportError(ex);
});
- reportErrorTelemetry("logins");
- histogram.add(25);
// This is async, but no need to wait for it.
NewTabUtils.links.populateCache(() => {
@@ -260,7 +234,6 @@ const AutoMigrate = {
}, true);
this._purgeUndoState(this.UNDO_REMOVED_REASON_UNDO_USED);
- histogram.add(30);
}),
_removeNotificationBars() {
@@ -288,10 +261,6 @@ const AutoMigrate = {
let migrationBrowser = Preferences.get(kAutoMigrateBrowserPref, "unknown");
Services.prefs.clearUserPref(kAutoMigrateBrowserPref);
-
- let histogram =
- Services.telemetry.getKeyedHistogramById("FX_STARTUP_MIGRATION_UNDO_REASON");
- histogram.add(migrationBrowser, reason);
},
getBrowserUsedForMigration() {
@@ -367,7 +336,6 @@ const AutoMigrate = {
message, kNotificationId, null, notificationBox.PRIORITY_INFO_HIGH, buttons
);
let remainingDays = Preferences.get(kAutoMigrateDaysToOfferUndoPref, 0);
- Services.telemetry.getHistogramById("FX_STARTUP_MIGRATION_UNDO_OFFERED").add(4 - remainingDays);
}),
shouldStillShowUndoPrompt() {
diff --git a/components/migration/FirefoxProfileMigrator.js b/components/migration/FirefoxProfileMigrator.js
index f0339f6..c88ce0d 100644
--- a/components/migration/FirefoxProfileMigrator.js
+++ b/components/migration/FirefoxProfileMigrator.js
@@ -170,77 +170,8 @@ FirefoxProfileMigrator.prototype._getResourcesInternal = function(sourceProfileD
};
}
- // Telemetry related migrations.
- let times = {
- name: "times", // name is used only by tests.
- type: types.OTHERDATA,
- migrate: aCallback => {
- let file = this._getFileObject(sourceProfileDir, "times.json");
- if (file) {
- file.copyTo(currentProfileDir, "");
- }
- // And record the fact a migration (ie, a reset) happened.
- let timesAccessor = new ProfileAge(currentProfileDir.path);
- timesAccessor.recordProfileReset().then(
- () => aCallback(true),
- () => aCallback(false)
- );
- }
- };
- let telemetry = {
- name: "telemetry", // name is used only by tests...
- type: types.OTHERDATA,
- migrate: aCallback => {
- let createSubDir = (name) => {
- let dir = currentProfileDir.clone();
- dir.append(name);
- dir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
- return dir;
- };
-
- // If the 'datareporting' directory exists we migrate files from it.
- let haveStateFile = false;
- let dataReportingDir = this._getFileObject(sourceProfileDir, "datareporting");
- if (dataReportingDir && dataReportingDir.isDirectory()) {
- // Copy only specific files.
- let toCopy = ["state.json", "session-state.json"];
-
- let dest = createSubDir("datareporting");
- let enumerator = dataReportingDir.directoryEntries;
- while (enumerator.hasMoreElements()) {
- let file = enumerator.getNext().QueryInterface(Ci.nsIFile);
- if (file.isDirectory() || toCopy.indexOf(file.leafName) == -1) {
- continue;
- }
-
- if (file.leafName == "state.json") {
- haveStateFile = true;
- }
- file.copyTo(dest, "");
- }
- }
-
- if (!haveStateFile) {
- // Fall back to migrating the state file that contains the client id from healthreport/.
- // We first moved the client id management from the FHR implementation to the datareporting
- // service.
- // Consequently, we try to migrate an existing FHR state file here as a fallback.
- let healthReportDir = this._getFileObject(sourceProfileDir, "healthreport");
- if (healthReportDir && healthReportDir.isDirectory()) {
- let stateFile = this._getFileObject(healthReportDir, "state.json");
- if (stateFile) {
- let dest = createSubDir("healthreport");
- stateFile.copyTo(dest, "");
- }
- }
- }
-
- aCallback(true);
- }
- };
-
return [places, cookies, passwords, formData, dictionary, bookmarksBackups,
- session, times, telemetry].filter(r => r);
+ session].filter(r => r);
};
Object.defineProperty(FirefoxProfileMigrator.prototype, "startupOnlyMigrator", {
diff --git a/components/migration/MigrationUtils.jsm b/components/migration/MigrationUtils.jsm
index 752e752..e40b437 100644
--- a/components/migration/MigrationUtils.jsm
+++ b/components/migration/MigrationUtils.jsm
@@ -265,27 +265,6 @@ this.MigratorPrototype = {
let maybeFinishResponsivenessMonitor = (responsivenessMonitor, histogramId) => {
if (responsivenessMonitor) {
let accumulatedDelay = responsivenessMonitor.finish();
- if (histogramId) {
- try {
- Services.telemetry.getKeyedHistogramById(histogramId)
- .add(browserKey, accumulatedDelay);
- } catch (ex) {
- Cu.reportError(histogramId + ": " + ex);
- }
- }
- }
- };
-
- let collectQuantityTelemetry = () => {
- for (let resourceType of Object.keys(MigrationUtils._importQuantities)) {
- let histogramId =
- "FX_MIGRATION_" + resourceType.toUpperCase() + "_QUANTITY";
- try {
- Services.telemetry.getKeyedHistogramById(histogramId)
- .add(browserKey, MigrationUtils._importQuantities[resourceType]);
- } catch (ex) {
- Cu.reportError(histogramId + ": " + ex);
- }
}
};
@@ -331,7 +310,6 @@ this.MigratorPrototype = {
maybeFinishResponsivenessMonitor(responsivenessMonitor, responsivenessHistogramId);
if (resourcesGroupedByItems.size == 0) {
- collectQuantityTelemetry();
notify("Migration:Ended");
}
}
@@ -803,7 +781,6 @@ this.MigrationUtils = Object.freeze({
* - {String} an identifier for the profile to use when migrating
* NB: If you add new consumers, please add a migration entry point
* constant below, and specify at least the first element of the array
- * (the migration entry point for purposes of telemetry).
*/
showMigrationWizard:
function MU_showMigrationWizard(aOpener, aParams) {
@@ -1096,7 +1073,4 @@ this.MigrationUtils = Object.freeze({
"safari": 8,
"360se": 9,
},
- getSourceIdForTelemetry(sourceName) {
- return this._sourceNameToIdMapping[sourceName] || 0;
- },
});
diff --git a/components/migration/content/migration.js b/components/migration/content/migration.js
index eb21756..cfdf48f 100644
--- a/components/migration/content/migration.js
+++ b/components/migration/content/migration.js
@@ -35,7 +35,6 @@ var MigrationWizard = { /* exported MigrationWizard */
let args = window.arguments;
let entryPointId = args[0] || MigrationUtils.MIGRATION_ENTRYPOINT_UNKNOWN;
- Services.telemetry.getHistogramById("FX_MIGRATION_ENTRY_POINT").add(entryPointId);
this.isInitialMigration = entryPointId == MigrationUtils.MIGRATION_ENTRYPOINT_FIRSTRUN;
if (args.length > 1) {
@@ -105,15 +104,6 @@ var MigrationWizard = { /* exported MigrationWizard */
}
}
}
- if (this.isInitialMigration) {
- Services.telemetry.getHistogramById("FX_STARTUP_MIGRATION_BROWSER_COUNT")
- .add(this._availableMigrators.length);
- let defaultBrowser = MigrationUtils.getMigratorKeyForDefaultBrowser();
- // This will record 0 for unknown default browser IDs.
- defaultBrowser = MigrationUtils.getSourceIdForTelemetry(defaultBrowser);
- Services.telemetry.getHistogramById("FX_STARTUP_MIGRATION_EXISTING_DEFAULT_BROWSER")
- .add(defaultBrowser);
- }
group.addEventListener("command", toggleCloseBrowserWarning);
@@ -142,11 +132,6 @@ var MigrationWizard = { /* exported MigrationWizard */
var newSource = document.getElementById("importSourceGroup").selectedItem.id;
if (newSource == "nothing") {
- // Need to do telemetry here because we're closing the dialog before we get to
- // do actual migration. For actual migration, this doesn't happen until after
- // migration takes place.
- Services.telemetry.getHistogramById("FX_MIGRATION_SOURCE_BROWSER")
- .add(MigrationUtils.getSourceIdForTelemetry("nothing"));
document.documentElement.cancel();
return false;
}
@@ -366,21 +351,6 @@ var MigrationWizard = { /* exported MigrationWizard */
onMigratingMigrate: function ()
{
this._migrator.migrate(this._itemsFlags, this._autoMigrate, this._selectedProfile);
-
- Services.telemetry.getHistogramById("FX_MIGRATION_SOURCE_BROWSER")
- .add(MigrationUtils.getSourceIdForTelemetry(this._source));
- if (!this._autoMigrate) {
- let hist = Services.telemetry.getKeyedHistogramById("FX_MIGRATION_USAGE");
- let exp = 0;
- let items = this._itemsFlags;
- while (items) {
- if (items & 1) {
- hist.add(this._source, exp);
- }
- items = items >> 1;
- exp++;
- }
- }
},
_listItems: function (aID)
@@ -426,18 +396,8 @@ var MigrationWizard = { /* exported MigrationWizard */
label.removeAttribute("style");
break;
case "Migration:Ended":
- if (this.isInitialMigration) {
- // Ensure errors in reporting data recency do not affect the rest of the migration.
- try {
- this.reportDataRecencyTelemetry();
- } catch (ex) {
- Cu.reportError(ex);
- }
- }
if (this._autoMigrate) {
let hasImportedHomepage = !!(this._newHomePage && this._newHomePage != "DEFAULT");
- Services.telemetry.getKeyedHistogramById("FX_MIGRATION_IMPORTED_HOMEPAGE")
- .add(this._source, hasImportedHomepage);
if (this._newHomePage) {
try {
// set homepage properly
@@ -508,8 +468,6 @@ var MigrationWizard = { /* exported MigrationWizard */
Cc["@mozilla.org/consoleservice;1"]
.getService(Ci.nsIConsoleService)
.logStringMessage("some " + type + " did not successfully migrate.");
- Services.telemetry.getKeyedHistogramById("FX_MIGRATION_ERRORS")
- .add(this._source, Math.log2(numericType));
break;
}
},
@@ -520,30 +478,4 @@ var MigrationWizard = { /* exported MigrationWizard */
this._wiz.canRewind = false;
this._listItems("doneItems");
},
-
- reportDataRecencyTelemetry() {
- let histogram = Services.telemetry.getKeyedHistogramById("FX_STARTUP_MIGRATION_DATA_RECENCY");
- let lastUsedPromises = [];
- for (let [key, migrator] of this._availableMigrators) {
- // No block-scoped let in for...of loop conditions, so get the source:
- let localKey = key;
- lastUsedPromises.push(migrator.getLastUsedDate().then(date => {
- const ONE_YEAR = 24 * 365;
- let diffInHours = Math.round((Date.now() - date) / (60 * 60 * 1000));
- if (diffInHours > ONE_YEAR) {
- diffInHours = ONE_YEAR;
- }
- histogram.add(localKey, diffInHours);
- return [localKey, diffInHours];
- }));
- }
- Promise.all(lastUsedPromises).then(migratorUsedTimeDiff => {
- // Sort low to high.
- migratorUsedTimeDiff.sort(([keyA, diffA], [keyB, diffB]) => diffA - diffB); /* eslint no-unused-vars: off */
- let usedMostRecentBrowser = migratorUsedTimeDiff.length && this._source == migratorUsedTimeDiff[0][0];
- let usedRecentBrowser =
- Services.telemetry.getKeyedHistogramById("FX_STARTUP_MIGRATION_USED_RECENT_BROWSER");
- usedRecentBrowser.add(this._source, usedMostRecentBrowser);
- });
- },
};