diff options
Diffstat (limited to 'components/migration')
-rw-r--r-- | components/migration/AutoMigrate.jsm | 32 | ||||
-rw-r--r-- | components/migration/FirefoxProfileMigrator.js | 71 | ||||
-rw-r--r-- | components/migration/MigrationUtils.jsm | 26 | ||||
-rw-r--r-- | components/migration/content/migration.js | 68 |
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); - }); - }, }; |