Bug 1963373 - Migrate Legacy Telemetry Environment fields r=janerik
This combines the following bugs: bug 1950415 bug 1950412 bug 1950411 bug 1950410 bug 1950409 bug 1950403 bug 1950400 bug 1950399 bug 1950398 bug 1950397 bug 1950394 bug 1962547 Differential Revision: https://phabricator.services.mozilla.com/D247118
This commit is contained in:
102
intl/locale/metrics.yaml
Normal file
102
intl/locale/metrics.yaml
Normal file
@@ -0,0 +1,102 @@
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# Adding a new metric? We have docs for that!
|
||||
# https://firefox-source-docs.mozilla.org/toolkit/components/glean/user/new_definitions_file.html
|
||||
|
||||
---
|
||||
$schema: moz://mozilla.org/schemas/glean/metrics/2-0-0
|
||||
$tags:
|
||||
- 'Core :: Internationalization'
|
||||
|
||||
intl:
|
||||
requested_locales:
|
||||
type: string_list
|
||||
lifetime: application
|
||||
description: |
|
||||
The Locales that are being requested.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- flod@mozilla.com
|
||||
expires: never
|
||||
|
||||
available_locales:
|
||||
type: string_list
|
||||
lifetime: application
|
||||
description: |
|
||||
The Locales that are available for use.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- flod@mozilla.com
|
||||
expires: never
|
||||
|
||||
app_locales:
|
||||
type: string_list
|
||||
lifetime: application
|
||||
description: |
|
||||
The negotiated Locales that are being used.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- flod@mozilla.com
|
||||
expires: never
|
||||
|
||||
system_locales:
|
||||
type: string_list
|
||||
lifetime: application
|
||||
description: |
|
||||
The Locales for the OS.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- flod@mozilla.com
|
||||
expires: never
|
||||
|
||||
regional_prefs_locales:
|
||||
type: string_list
|
||||
lifetime: application
|
||||
description: |
|
||||
The regional preferences for the OS.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- flod@mozilla.com
|
||||
expires: never
|
||||
|
||||
accept_languages:
|
||||
type: string_list
|
||||
lifetime: application
|
||||
description: |
|
||||
The languages for the Accept-Languages header.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950394
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- flod@mozilla.com
|
||||
expires: never
|
||||
@@ -78,3 +78,39 @@ sandbox:
|
||||
- alissy@mozilla.com
|
||||
expires: 145
|
||||
telemetry_mirror: h#SANDBOX_HAS_USER_NAMESPACES
|
||||
|
||||
effective_content_process_level:
|
||||
type: quantity
|
||||
unit: level
|
||||
lifetime: application
|
||||
description: |
|
||||
The current sandbox level.
|
||||
The "security.sandbox.content.level" preference rounded up to the current minimum allowed level.
|
||||
0 if `MOZ_DISABLE_CONTENT_SANDBOX` is set.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950398
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950398
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- bowen@mozilla.com
|
||||
expires: never
|
||||
|
||||
content_win32k_lockdown_state:
|
||||
type: quantity
|
||||
unit: lockdown state
|
||||
lifetime: application
|
||||
description: |
|
||||
The current win32k.sys lockdown state.
|
||||
Possible values are defined in the ContentWin32kLockdownState enum.
|
||||
Reported even on non-Windows machines.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950398
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950398
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- bowen@mozilla.com
|
||||
expires: never
|
||||
|
||||
@@ -88,3 +88,34 @@ fxa:
|
||||
expires: never
|
||||
extra_keys: *fxa_connect_extra
|
||||
telemetry_mirror: Fxa_Disconnect_Account
|
||||
|
||||
sync_enabled:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether the weave service is present and enabled.
|
||||
Implies `fxa.account_enabled`.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950399
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950399
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- sync-dev@mozilla.org
|
||||
expires: never
|
||||
|
||||
account_enabled:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether the user's logged in to an FxA account.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950399
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950399
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- sync-dev@mozilla.org
|
||||
expires: never
|
||||
|
||||
@@ -49,6 +49,7 @@ gecko_metrics = [
|
||||
"extensions/permissions/metrics.yaml",
|
||||
"gfx/metrics.yaml",
|
||||
"image/decoders/metrics.yaml",
|
||||
"intl/locale/metrics.yaml",
|
||||
"ipc/metrics.yaml",
|
||||
"js/xpconnect/metrics.yaml",
|
||||
"layout/base/metrics.yaml",
|
||||
|
||||
@@ -82,8 +82,8 @@ export var Policy = {
|
||||
var gActiveExperimentStartupBuffer = new Map();
|
||||
|
||||
// For Powering arewegleanyet.com (See bug 1944592)
|
||||
// Legacy Count: 114
|
||||
// Glean Count: 54
|
||||
// Legacy Count: 118
|
||||
// Glean Count: 117
|
||||
|
||||
var gGlobalEnvironment;
|
||||
function getGlobal() {
|
||||
@@ -479,7 +479,7 @@ function getRegionalPrefsLocales() {
|
||||
}
|
||||
|
||||
function getIntlSettings() {
|
||||
return {
|
||||
let intl = {
|
||||
requestedLocales: Services.locale.requestedLocales,
|
||||
availableLocales: Services.locale.availableLocales,
|
||||
appLocales: Services.locale.appLocalesAsBCP47,
|
||||
@@ -490,6 +490,13 @@ function getIntlSettings() {
|
||||
.data.split(",")
|
||||
.map(str => str.trim()),
|
||||
};
|
||||
Glean.intl.requestedLocales.set(intl.requestedLocales);
|
||||
Glean.intl.availableLocales.set(intl.availableLocales);
|
||||
Glean.intl.appLocales.set(intl.appLocales);
|
||||
Glean.intl.systemLocales.set(intl.systemLocales);
|
||||
Glean.intl.regionalPrefsLocales.set(intl.regionalPrefsLocales);
|
||||
Glean.intl.acceptLanguages.set(intl.acceptLanguages);
|
||||
return intl;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1109,6 +1116,15 @@ EnvironmentCache.prototype = {
|
||||
|
||||
if (AppConstants.platform == "win") {
|
||||
this._hddData = await Services.sysinfo.diskInfo;
|
||||
for (const [name, disk] of Object.entries(this._hddData)) {
|
||||
if (!disk) {
|
||||
continue;
|
||||
}
|
||||
// Glean `object` metrics don't like `type` as it's a reserved word.
|
||||
let diskData = { ...disk, diskType: disk.type };
|
||||
delete diskData.type;
|
||||
Glean.hdd[name].set(diskData);
|
||||
}
|
||||
let osData = await Services.sysinfo.osInfo;
|
||||
|
||||
if (!this._initTask) {
|
||||
@@ -1133,6 +1149,8 @@ EnvironmentCache.prototype = {
|
||||
this._currentEnvironment.system.isWow64 = this._getProcessData().isWow64;
|
||||
this._currentEnvironment.system.isWowARM64 =
|
||||
this._getProcessData().isWowARM64;
|
||||
Glean.system.isWow64.set(this._currentEnvironment.system.isWow64);
|
||||
Glean.system.isWowArm64.set(this._currentEnvironment.system.isWowARM64);
|
||||
}
|
||||
|
||||
if (!this._initTask) {
|
||||
@@ -1465,9 +1483,15 @@ EnvironmentCache.prototype = {
|
||||
break;
|
||||
case AUTO_UPDATE_PREF_CHANGE_TOPIC:
|
||||
this._currentEnvironment.settings.update.autoDownload = aData == "true";
|
||||
Glean.updateSettings.autoDownload.set(
|
||||
this._currentEnvironment.settings.update.autoDownload
|
||||
);
|
||||
break;
|
||||
case BACKGROUND_UPDATE_PREF_CHANGE_TOPIC:
|
||||
this._currentEnvironment.settings.update.background = aData == "true";
|
||||
Glean.updateSettings.background.set(
|
||||
this._currentEnvironment.settings.update.background
|
||||
);
|
||||
break;
|
||||
case SERVICES_INFO_CHANGE_TOPIC:
|
||||
this._updateServicesInfo();
|
||||
@@ -1669,6 +1693,10 @@ EnvironmentCache.prototype = {
|
||||
userPrefs: this._getPrefData(),
|
||||
sandbox: this._getSandboxData(),
|
||||
};
|
||||
Glean.updateSettings.channel.set(updateChannel);
|
||||
Glean.updateSettings.enabled.set(
|
||||
this._currentEnvironment.settings.update.enabled
|
||||
);
|
||||
|
||||
// Services.appinfo.launcherProcessState is not available in all build
|
||||
// configurations, in which case an exception may be thrown.
|
||||
@@ -1728,6 +1756,14 @@ EnvironmentCache.prototype = {
|
||||
// enum in security/sandbox/common/SandboxSettings.h
|
||||
contentWin32kLockdownState = sandboxSettings.contentWin32kLockdownState;
|
||||
} catch (e) {}
|
||||
if (effectiveContentProcessLevel !== null) {
|
||||
Glean.sandbox.effectiveContentProcessLevel.set(
|
||||
effectiveContentProcessLevel
|
||||
);
|
||||
}
|
||||
if (contentWin32kLockdownState !== null) {
|
||||
Glean.sandbox.contentWin32kLockdownState.set(contentWin32kLockdownState);
|
||||
}
|
||||
return {
|
||||
effectiveContentProcessLevel,
|
||||
contentWin32kLockdownState,
|
||||
@@ -1748,17 +1784,27 @@ EnvironmentCache.prototype = {
|
||||
|
||||
this._currentEnvironment.profile.creationDate =
|
||||
Utils.millisecondsToDays(creationDate);
|
||||
Glean.profiles.creationDate.set(
|
||||
this._currentEnvironment.profile.creationDate
|
||||
);
|
||||
if (resetDate) {
|
||||
this._currentEnvironment.profile.resetDate =
|
||||
Utils.millisecondsToDays(resetDate);
|
||||
Glean.profiles.resetDate.set(this._currentEnvironment.profile.resetDate);
|
||||
}
|
||||
if (firstUseDate) {
|
||||
this._currentEnvironment.profile.firstUseDate =
|
||||
Utils.millisecondsToDays(firstUseDate);
|
||||
Glean.profiles.firstUseDate.set(
|
||||
this._currentEnvironment.profile.firstUseDate
|
||||
);
|
||||
}
|
||||
if (recoveredFromBackup) {
|
||||
this._currentEnvironment.profile.recoveredFromBackup =
|
||||
Utils.millisecondsToDays(recoveredFromBackup);
|
||||
Glean.profiles.recoveredFromBackup.set(
|
||||
this._currentEnvironment.profile.recoveredFromBackup
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1847,10 +1893,12 @@ EnvironmentCache.prototype = {
|
||||
if (this._updateAutoDownloadCache !== undefined) {
|
||||
this._currentEnvironment.settings.update.autoDownload =
|
||||
this._updateAutoDownloadCache;
|
||||
Glean.updateSettings.autoDownload.set(this._updateAutoDownloadCache);
|
||||
}
|
||||
if (this._updateBackgroundCache !== undefined) {
|
||||
this._currentEnvironment.settings.update.background =
|
||||
this._updateBackgroundCache;
|
||||
Glean.updateSettings.background.set(this._updateBackgroundCache);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1899,6 +1947,8 @@ EnvironmentCache.prototype = {
|
||||
accountEnabled,
|
||||
syncEnabled,
|
||||
};
|
||||
Glean.fxa.syncEnabled.set(syncEnabled);
|
||||
Glean.fxa.accountEnabled.set(accountEnabled);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -1977,6 +2027,8 @@ EnvironmentCache.prototype = {
|
||||
|
||||
this._cpuData.extensions = availableExts;
|
||||
|
||||
Glean.systemCpu.extensions.set(availableExts);
|
||||
|
||||
return this._cpuData;
|
||||
},
|
||||
|
||||
@@ -2006,6 +2058,9 @@ EnvironmentCache.prototype = {
|
||||
version: forceToStringOrNull(getSysinfoProperty("version", null)),
|
||||
locale: forceToStringOrNull(getSystemLocale()),
|
||||
};
|
||||
Glean.systemOs.name.set(this._osData.name);
|
||||
Glean.systemOs.version.set(this._osData.version);
|
||||
Glean.systemOs.locale.set(this._osData.locale);
|
||||
|
||||
if (AppConstants.platform == "android") {
|
||||
this._osData.kernelVersion = forceToStringOrNull(
|
||||
@@ -2018,6 +2073,8 @@ EnvironmentCache.prototype = {
|
||||
this._osData.distroVersion = forceToStringOrNull(
|
||||
getSysinfoProperty("distroVersion", null)
|
||||
);
|
||||
Glean.systemOs.distro.set(this._osData.distro);
|
||||
Glean.systemOs.distroVersion.set(this._osData.distroVersion);
|
||||
} else if (AppConstants.platform === "win") {
|
||||
// The path to the "UBR" key, queried to get additional version details on Windows.
|
||||
const WINDOWS_UBR_KEY_PATH =
|
||||
@@ -2027,6 +2084,9 @@ EnvironmentCache.prototype = {
|
||||
this._osData.servicePackMajor = versionInfo.servicePackMajor;
|
||||
this._osData.servicePackMinor = versionInfo.servicePackMinor;
|
||||
this._osData.windowsBuildNumber = versionInfo.buildNumber;
|
||||
Glean.systemOs.servicePackMajor.set(this._osData.servicePackMajor);
|
||||
Glean.systemOs.servicePackMinor.set(this._osData.servicePackMinor);
|
||||
Glean.systemOs.windowsBuildNumber.set(this._osData.windowsBuildNumber);
|
||||
// We only need the UBR if we're at or above Windows 10.
|
||||
if (
|
||||
typeof this._osData.version === "string" &&
|
||||
@@ -2040,6 +2100,9 @@ EnvironmentCache.prototype = {
|
||||
"UBR",
|
||||
Ci.nsIWindowsRegKey.WOW64_64
|
||||
);
|
||||
if (Number.isInteger(ubr)) {
|
||||
Glean.systemOs.windowsUbr.set(ubr);
|
||||
}
|
||||
this._osData.windowsUBR = ubr !== undefined ? ubr : null;
|
||||
}
|
||||
}
|
||||
@@ -2078,6 +2141,7 @@ EnvironmentCache.prototype = {
|
||||
for (let [inKey, outKey] of keys) {
|
||||
let prop = getSysinfoProperty(inKey, null);
|
||||
if (prop) {
|
||||
Glean.windowsSecurity[outKey].set(prop.split(";"));
|
||||
prop = limitStringToLength(prop, maxStringLength).split(";");
|
||||
}
|
||||
|
||||
@@ -2104,11 +2168,42 @@ EnvironmentCache.prototype = {
|
||||
monitors: [],
|
||||
features: {},
|
||||
};
|
||||
if (gfxData.D2DEnabled !== null) {
|
||||
Glean.gfx.d2dEnabled.set(gfxData.D2DEnabled);
|
||||
}
|
||||
if (gfxData.DWriteEnabled !== null) {
|
||||
Glean.gfx.dwriteEnabled.set(gfxData.DWriteEnabled);
|
||||
}
|
||||
if (gfxData.ContentBackend !== null) {
|
||||
Glean.gfx.contentBackend.set(gfxData.ContentBackend);
|
||||
}
|
||||
if (gfxData.Headless !== null) {
|
||||
Glean.gfx.headless.set(gfxData.Headless);
|
||||
}
|
||||
if (gfxData.TargetFrameRate !== null) {
|
||||
Glean.gfx.targetFrameRate.set(gfxData.TargetFrameRate);
|
||||
}
|
||||
if (gfxData.textScaleFactor !== null) {
|
||||
Glean.gfx.textScaleFactor.set(gfxData.textScaleFactor);
|
||||
}
|
||||
|
||||
if (AppConstants.platform !== "android") {
|
||||
let gfxInfo = Cc["@mozilla.org/gfx/info;1"].getService(Ci.nsIGfxInfo);
|
||||
try {
|
||||
gfxData.monitors = gfxInfo.getMonitors();
|
||||
// Special handling because floats need to become strings.
|
||||
let monitors = gfxInfo.getMonitors();
|
||||
for (let monitor of monitors) {
|
||||
if ("defaultCSSScaleFactor" in monitor) {
|
||||
monitor.defaultCSSScaleFactor =
|
||||
monitor.defaultCSSScaleFactor.toString();
|
||||
}
|
||||
if ("contentsScaleFactor" in monitor) {
|
||||
monitor.contentsScaleFactor =
|
||||
monitor.contentsScaleFactor.toString();
|
||||
}
|
||||
}
|
||||
Glean.gfx.monitors.set(monitors);
|
||||
} catch (e) {
|
||||
this._log.error("nsIGfxInfo.getMonitors() caught error", e);
|
||||
}
|
||||
@@ -2117,6 +2212,9 @@ EnvironmentCache.prototype = {
|
||||
try {
|
||||
let gfxInfo = Cc["@mozilla.org/gfx/info;1"].getService(Ci.nsIGfxInfo);
|
||||
gfxData.features = gfxInfo.getFeatures();
|
||||
for (const [name, value] of Object.entries(gfxData.features)) {
|
||||
Glean.gfxFeatures[name].set(value);
|
||||
}
|
||||
} catch (e) {
|
||||
this._log.error("nsIGfxInfo.getFeatures() caught error", e);
|
||||
}
|
||||
@@ -2129,6 +2227,7 @@ EnvironmentCache.prototype = {
|
||||
let hasGPU2 = getGfxField("adapterDeviceID2", null) !== null;
|
||||
if (!hasGPU2) {
|
||||
this._log.trace("_getGFXData - Only one display adapter detected.");
|
||||
Glean.gfx.adapters.set(gfxData.adapters);
|
||||
return gfxData;
|
||||
}
|
||||
|
||||
@@ -2137,6 +2236,8 @@ EnvironmentCache.prototype = {
|
||||
gfxData.adapters.push(getGfxAdapter("2"));
|
||||
gfxData.adapters[1].GPUActive = getGfxField("isGPU2Active", null);
|
||||
|
||||
Glean.gfx.adapters.set(gfxData.adapters);
|
||||
|
||||
return gfxData;
|
||||
},
|
||||
|
||||
@@ -2150,6 +2251,7 @@ EnvironmentCache.prototype = {
|
||||
// Send RAM size in megabytes. Rounding because sysinfo doesn't
|
||||
// always provide RAM in multiples of 1024.
|
||||
memoryMB = Math.round(memoryMB / 1024 / 1024);
|
||||
Glean.system.memory.set(memoryMB);
|
||||
}
|
||||
|
||||
let virtualMB = getSysinfoProperty("virtualmemsize", null);
|
||||
@@ -2157,6 +2259,7 @@ EnvironmentCache.prototype = {
|
||||
// Send the total virtual memory size in megabytes. Rounding because
|
||||
// sysinfo doesn't always provide RAM in multiples of 1024.
|
||||
virtualMB = Math.round(virtualMB / 1024 / 1024);
|
||||
Glean.system.virtualMemory.set(virtualMB);
|
||||
}
|
||||
|
||||
let data = {
|
||||
@@ -2169,6 +2272,10 @@ EnvironmentCache.prototype = {
|
||||
appleModelId: getSysinfoProperty("appleModelId", null),
|
||||
hasWinPackageId: getSysinfoProperty("hasWinPackageId", null),
|
||||
};
|
||||
Glean.system.appleModelId.set(data.appleModelId);
|
||||
if (data.hasWinPackageId !== null) {
|
||||
Glean.system.hasWinPackageId.set(data.hasWinPackageId);
|
||||
}
|
||||
|
||||
if (AppConstants.platform === "win") {
|
||||
// This is only sent for Mozilla produced MSIX packages
|
||||
@@ -2178,8 +2285,11 @@ EnvironmentCache.prototype = {
|
||||
winPackageFamilyName.startsWith("MozillaCorporation.")
|
||||
) {
|
||||
data = { winPackageFamilyName, ...data };
|
||||
Glean.system.winPackageFamilyName.set(winPackageFamilyName);
|
||||
}
|
||||
data = { ...this._getProcessData(), ...data };
|
||||
Glean.system.isWow64.set(data.isWow64);
|
||||
Glean.system.isWowArm64.set(data.isWowARM64);
|
||||
data.sec = this._getSecurityAppData();
|
||||
}
|
||||
|
||||
|
||||
@@ -149,10 +149,7 @@ Structure:
|
||||
servicePackMinor: <number>, // windows only or null on failure
|
||||
windowsBuildNumber: <number>, // windows only or null on failure
|
||||
windowsUBR: <number>, // windows 10 only or null on failure
|
||||
installYear: <number>, // windows only or null on failure
|
||||
locale: <string>, // "en" or null on failure
|
||||
hasPrefetch: <bool>, // windows only, or null on failure
|
||||
hasSuperfetch: <bool>, // windows only, or null on failure
|
||||
distro: <string>, // linux only, or null on failure
|
||||
distroVersion: <string>, // linux only, or null on failure
|
||||
},
|
||||
@@ -251,7 +248,7 @@ Structure:
|
||||
},
|
||||
},
|
||||
appleModelId: <string>, // Mac only or null on failure
|
||||
sec: { // This feature is Windows 8+ only
|
||||
sec: { // This feature is Windows only
|
||||
antivirus: [ <string>, ... ], // null if unavailable on platform: Product name(s) of registered antivirus programs
|
||||
antispyware: [ <string>, ... ], // null if unavailable on platform: Product name(s) of registered antispyware programs
|
||||
firewall: [ <string>, ... ], // null if unavailable on platform: Product name(s) of registered firewall programs
|
||||
|
||||
@@ -340,6 +340,22 @@ export var TelemetryEnvironmentTesting = {
|
||||
lazy.Assert.equal(typeof update.enabled, "boolean");
|
||||
lazy.Assert.equal(typeof update.autoDownload, "boolean");
|
||||
lazy.Assert.equal(typeof update.background, "boolean");
|
||||
lazy.Assert.equal(
|
||||
update.channel,
|
||||
Glean.updateSettings.channel.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
update.enabled,
|
||||
Glean.updateSettings.enabled.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
update.autoDownload,
|
||||
Glean.updateSettings.autoDownload.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
update.background,
|
||||
Glean.updateSettings.background.testGetValue()
|
||||
);
|
||||
|
||||
// Check sandbox settings exist and make sense
|
||||
if (data.settings.sandbox.effectiveContentProcessLevel !== null) {
|
||||
@@ -348,6 +364,10 @@ export var TelemetryEnvironmentTesting = {
|
||||
"number",
|
||||
"sandbox.effectiveContentProcessLevel must have the correct type"
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
data.settings.sandbox.effectiveContentProcessLevel,
|
||||
Glean.sandbox.effectiveContentProcessLevel.testGetValue()
|
||||
);
|
||||
}
|
||||
|
||||
if (data.settings.sandbox.contentWin32kLockdownState !== null) {
|
||||
@@ -360,6 +380,11 @@ export var TelemetryEnvironmentTesting = {
|
||||
let win32kLockdownState =
|
||||
data.settings.sandbox.contentWin32kLockdownState;
|
||||
lazy.Assert.ok(win32kLockdownState >= 1 && win32kLockdownState <= 17);
|
||||
|
||||
lazy.Assert.equal(
|
||||
win32kLockdownState,
|
||||
Glean.sandbox.contentWin32kLockdownState.testGetValue()
|
||||
);
|
||||
}
|
||||
|
||||
// Check "defaultSearchEngine" separately, as it can either be undefined or string.
|
||||
@@ -406,6 +431,7 @@ export var TelemetryEnvironmentTesting = {
|
||||
|
||||
for (let field of fields) {
|
||||
lazy.Assert.ok(Array.isArray(intl[field]), `${field} is an array`);
|
||||
lazy.Assert.deepEqual(intl[field], Glean.intl[field].testGetValue());
|
||||
}
|
||||
|
||||
// These fields may be null if they aren't ready yet. This is mostly to deal
|
||||
@@ -416,6 +442,7 @@ export var TelemetryEnvironmentTesting = {
|
||||
let isArray = Array.isArray(intl[field]);
|
||||
let isNull = intl[field] === null;
|
||||
lazy.Assert.ok(isArray || isNull, `${field} is an array or null`);
|
||||
lazy.Assert.deepEqual(intl[field], Glean.intl[field].testGetValue());
|
||||
}
|
||||
},
|
||||
|
||||
@@ -440,6 +467,22 @@ export var TelemetryEnvironmentTesting = {
|
||||
data.profile.recoveredFromBackup,
|
||||
truncateToDays(PROFILE_RECOVERED_FROM_BACKUP)
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
data.profile.creationDate,
|
||||
Glean.profiles.creationDate.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
data.profile.resetDate,
|
||||
Glean.profiles.resetDate.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
data.profile.firstUseDate,
|
||||
Glean.profiles.firstUseDate.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
data.profile.recoveredFromBackup,
|
||||
Glean.profiles.recoveredFromBackup.testGetValue()
|
||||
);
|
||||
},
|
||||
|
||||
checkPartnerSection(data, isInitial) {
|
||||
@@ -546,6 +589,7 @@ export var TelemetryEnvironmentTesting = {
|
||||
Number.isFinite(data.system.memoryMB),
|
||||
"MemoryMB must be a number."
|
||||
);
|
||||
lazy.Assert.equal(data.system.memoryMB, Glean.system.memory.testGetValue());
|
||||
|
||||
if (assertProcessData) {
|
||||
if (gIsWindows || gIsMac || gIsLinux) {
|
||||
@@ -601,6 +645,28 @@ export var TelemetryEnvironmentTesting = {
|
||||
Number.isFinite(data.system.virtualMaxMB),
|
||||
"virtualMaxMB must be a number."
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
data.system.isWow64,
|
||||
Glean.system.isWow64.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
data.system.isWowARM64,
|
||||
Glean.system.isWowArm64.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
data.system.hasWinPackageId,
|
||||
Glean.system.hasWinPackageId.testGetValue()
|
||||
);
|
||||
if (data.system.winPackageFamilyName) {
|
||||
lazy.Assert.equal(
|
||||
data.system.winPackageFamilyName,
|
||||
Glean.system.winPackageFamilyName.testGetValue()
|
||||
);
|
||||
}
|
||||
lazy.Assert.equal(
|
||||
data.system.virtualMaxMB,
|
||||
Glean.system.virtualMemory.testGetValue()
|
||||
);
|
||||
|
||||
for (let f of [
|
||||
"count",
|
||||
@@ -652,11 +718,24 @@ export var TelemetryEnvironmentTesting = {
|
||||
Array.isArray(cpuData.extensions),
|
||||
"CPU extensions must be available."
|
||||
);
|
||||
lazy.Assert.deepEqual(
|
||||
cpuData.extensions,
|
||||
Glean.systemCpu.extensions.testGetValue()
|
||||
);
|
||||
|
||||
let osData = data.system.os;
|
||||
lazy.Assert.ok(this.checkNullOrString(osData.name));
|
||||
lazy.Assert.ok(this.checkNullOrString(osData.version));
|
||||
lazy.Assert.ok(this.checkNullOrString(osData.locale));
|
||||
if (osData.name !== null) {
|
||||
lazy.Assert.equal(osData.name, Glean.systemOs.name.testGetValue());
|
||||
}
|
||||
if (osData.version !== null) {
|
||||
lazy.Assert.equal(osData.version, Glean.systemOs.version.testGetValue());
|
||||
}
|
||||
if (osData.locale !== null) {
|
||||
lazy.Assert.equal(osData.locale, Glean.systemOs.locale.testGetValue());
|
||||
}
|
||||
|
||||
// Service pack is only available on Windows.
|
||||
if (gIsWindows) {
|
||||
@@ -668,12 +747,24 @@ export var TelemetryEnvironmentTesting = {
|
||||
Number.isFinite(osData.servicePackMinor),
|
||||
"ServicePackMinor must be a number."
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
osData.servicePackMajor,
|
||||
Glean.systemOs.servicePackMajor.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
osData.servicePackMinor,
|
||||
Glean.systemOs.servicePackMinor.testGetValue()
|
||||
);
|
||||
if ("windowsBuildNumber" in osData) {
|
||||
// This might not be available on all Windows platforms.
|
||||
lazy.Assert.ok(
|
||||
Number.isFinite(osData.windowsBuildNumber),
|
||||
"windowsBuildNumber must be a number."
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
osData.windowsBuildNumber,
|
||||
Glean.systemOs.windowsBuildNumber.testGetValue()
|
||||
);
|
||||
}
|
||||
if ("windowsUBR" in osData) {
|
||||
// This might not be available on all Windows platforms.
|
||||
@@ -681,25 +772,58 @@ export var TelemetryEnvironmentTesting = {
|
||||
osData.windowsUBR === null || Number.isFinite(osData.windowsUBR),
|
||||
"windowsUBR must be null or a number."
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
osData.windowsUBR,
|
||||
Glean.systemOs.windowsUbr.testGetValue()
|
||||
);
|
||||
}
|
||||
} else if (gIsLinux) {
|
||||
lazy.Assert.ok(this.checkNullOrString(osData.distro));
|
||||
lazy.Assert.ok(this.checkNullOrString(osData.distroVersion));
|
||||
lazy.Assert.equal(osData.distro, Glean.systemOs.distro.testGetValue());
|
||||
lazy.Assert.equal(
|
||||
osData.distroVersion,
|
||||
Glean.systemOs.distroVersion.testGetValue()
|
||||
);
|
||||
}
|
||||
|
||||
for (let disk of EXPECTED_HDD_FIELDS) {
|
||||
let diskData = Glean.hdd[disk].testGetValue();
|
||||
lazy.Assert.ok(this.checkNullOrString(data.system.hdd[disk].model));
|
||||
lazy.Assert.ok(this.checkNullOrString(data.system.hdd[disk].revision));
|
||||
lazy.Assert.ok(this.checkNullOrString(data.system.hdd[disk].type));
|
||||
if (data.system.hdd[disk].model !== null) {
|
||||
lazy.Assert.equal(data.system.hdd[disk].model, diskData.model);
|
||||
}
|
||||
if (data.system.hdd[disk].revision !== null) {
|
||||
lazy.Assert.equal(data.system.hdd[disk].revision, diskData.revision);
|
||||
}
|
||||
if (data.system.hdd[disk].type !== null) {
|
||||
lazy.Assert.equal(data.system.hdd[disk].type, diskData.diskType);
|
||||
}
|
||||
}
|
||||
|
||||
let gfxData = data.system.gfx;
|
||||
lazy.Assert.ok("D2DEnabled" in gfxData);
|
||||
lazy.Assert.equal(gfxData.D2DEnabled, Glean.gfx.d2dEnabled.testGetValue());
|
||||
lazy.Assert.ok("DWriteEnabled" in gfxData);
|
||||
lazy.Assert.equal(
|
||||
gfxData.DWriteEnabled,
|
||||
Glean.gfx.dwriteEnabled.testGetValue()
|
||||
);
|
||||
lazy.Assert.ok("Headless" in gfxData);
|
||||
lazy.Assert.equal(gfxData.Headless, Glean.gfx.headless.testGetValue());
|
||||
lazy.Assert.ok("TargetFrameRate" in gfxData);
|
||||
lazy.Assert.equal(typeof gfxData.TargetFrameRate, "number");
|
||||
lazy.Assert.equal(
|
||||
gfxData.TargetFrameRate,
|
||||
Glean.gfx.targetFrameRate.testGetValue()
|
||||
);
|
||||
lazy.Assert.ok("textScaleFactor" in gfxData);
|
||||
lazy.Assert.equal(
|
||||
gfxData.textScaleFactor,
|
||||
Glean.gfx.textScaleFactor.testGetValue()
|
||||
);
|
||||
if (gIsWindows) {
|
||||
lazy.Assert.equal(typeof gfxData.D2DEnabled, "boolean");
|
||||
lazy.Assert.equal(typeof gfxData.DWriteEnabled, "boolean");
|
||||
@@ -718,6 +842,16 @@ export var TelemetryEnvironmentTesting = {
|
||||
gfxData.adapters[0].GPUActive,
|
||||
"The first GFX adapter must be active."
|
||||
);
|
||||
const adapters = Glean.gfx.adapters.testGetValue();
|
||||
gfxData.adapters.forEach((adapter, index) => {
|
||||
for (const [k, v] of Object.entries(adapter)) {
|
||||
if (v === null) {
|
||||
// Glean doesn't bother with `null`s
|
||||
continue;
|
||||
}
|
||||
lazy.Assert.equal(v, adapters[index][k]);
|
||||
}
|
||||
});
|
||||
|
||||
lazy.Assert.ok(Array.isArray(gfxData.monitors));
|
||||
if (gIsWindows || gIsMac || gIsLinux) {
|
||||
@@ -740,12 +874,15 @@ export var TelemetryEnvironmentTesting = {
|
||||
lazy.Assert.equal(typeof gfxData.monitors[0].pseudoDisplay, "boolean");
|
||||
}
|
||||
}
|
||||
lazy.Assert.deepEqual(gfxData.monitors, Glean.gfx.monitors.testGetValue());
|
||||
|
||||
lazy.Assert.equal(typeof gfxData.features, "object");
|
||||
lazy.Assert.equal(typeof gfxData.features.compositor, "string");
|
||||
lazy.Assert.ok(!!Glean.gfxFeatures.compositor.testGetValue());
|
||||
|
||||
lazy.Assert.equal(typeof gfxData.features.gpuProcess, "object");
|
||||
lazy.Assert.equal(typeof gfxData.features.gpuProcess.status, "string");
|
||||
lazy.Assert.ok(!!Glean.gfxFeatures.gpuProcess.testGetValue().status);
|
||||
|
||||
try {
|
||||
// If we've not got nsIGfxInfoDebug, then this will throw and stop us doing
|
||||
@@ -765,14 +902,25 @@ export var TelemetryEnvironmentTesting = {
|
||||
features.gpuProcess.status,
|
||||
gfxData.features.gpuProcess.status
|
||||
);
|
||||
lazy.Assert.equal(features.opengl, gfxData.features.opengl);
|
||||
lazy.Assert.equal(features.webgl, gfxData.features.webgl);
|
||||
lazy.Assert.equal(
|
||||
features.compositor,
|
||||
Glean.gfxFeatures.compositor.testGetValue()
|
||||
);
|
||||
lazy.Assert.equal(
|
||||
features.gpuProcess.status,
|
||||
Glean.gfxFeatures.gpuProcess.testGetValue().status
|
||||
);
|
||||
} catch (e) {}
|
||||
|
||||
if (gIsMac) {
|
||||
lazy.Assert.ok(this.checkString(data.system.appleModelId));
|
||||
lazy.Assert.equal(
|
||||
data.system.appleModelId,
|
||||
Glean.system.appleModelId.testGetValue()
|
||||
);
|
||||
} else {
|
||||
lazy.Assert.ok(this.checkNullOrString(data.system.appleModelId));
|
||||
lazy.Assert.equal(null, Glean.system.appleModelId.testGetValue());
|
||||
}
|
||||
|
||||
// This feature is only available on Windows
|
||||
@@ -784,6 +932,7 @@ export var TelemetryEnvironmentTesting = {
|
||||
|
||||
let SEC_FIELDS = ["antivirus", "antispyware", "firewall"];
|
||||
for (let f of SEC_FIELDS) {
|
||||
let products = Glean.windowsSecurity[f].testGetValue();
|
||||
lazy.Assert.ok(
|
||||
f in data.system.sec,
|
||||
f + " must be available under data.system.sec"
|
||||
@@ -797,6 +946,10 @@ export var TelemetryEnvironmentTesting = {
|
||||
);
|
||||
if (Array.isArray(value)) {
|
||||
for (let product of value) {
|
||||
// It is posssible that this will fail if either the Legacy or
|
||||
// Glean string limits are hit. If the Glean string_list limits are
|
||||
// hit, `testGetValue` above will throw, though.
|
||||
lazy.Assert.ok(products.includes(product), `${f} data must match.`);
|
||||
lazy.Assert.equal(
|
||||
typeof product,
|
||||
"string",
|
||||
|
||||
@@ -1501,3 +1501,67 @@ updater:
|
||||
data_sensitivity:
|
||||
- technical
|
||||
expires: never
|
||||
|
||||
|
||||
update.settings:
|
||||
channel:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The update channel according to defaults,
|
||||
including partner bits.
|
||||
e.g. "nightly-cck"
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950397
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950397
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- application-update-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
enabled:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether updates are available.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950397
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950397
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- application-update-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
auto_download:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether app updates are set to auto-download.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950397
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950397
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- application-update-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
background:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether updates can be delivered in the background.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950397
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950397
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- application-update-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
@@ -115,3 +115,83 @@ startup:
|
||||
expires: 147
|
||||
unit: profiles
|
||||
telemetry_mirror: STARTUP_PROFILE_COUNT
|
||||
|
||||
profiles:
|
||||
creation_date:
|
||||
type: quantity
|
||||
unit: days since Jan 1 1970
|
||||
lifetime: application
|
||||
description: |
|
||||
The day the profile was created,
|
||||
as determined by checking various file metadata in the profile directory.
|
||||
Not considered to be particularly reliable in practice.
|
||||
Prefer `client_info.first_run_date` in most cases.
|
||||
e.g. 16446
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950400
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950400
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- dtownsend@mozilla.com
|
||||
expires: never
|
||||
|
||||
reset_date:
|
||||
type: quantity
|
||||
unit: days since Jan 1 1970
|
||||
lifetime: application
|
||||
description: |
|
||||
Optional.
|
||||
The day the profile was most recently reset,
|
||||
persisted in `times.json`.
|
||||
e.g. 16446
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950400
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950400
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- dtownsend@mozilla.com
|
||||
expires: never
|
||||
|
||||
first_use_date:
|
||||
type: quantity
|
||||
unit: days since Jan 1 1970
|
||||
lifetime: application
|
||||
description: |
|
||||
Optional.
|
||||
The day the profile was first used,
|
||||
as determined by noticing that `times.json` wasn't present.
|
||||
Prefer `client_info.first_run_date` in most cases.
|
||||
e.g. 16446
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950400
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950400
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- dtownsend@mozilla.com
|
||||
expires: never
|
||||
|
||||
recovered_from_backup:
|
||||
type: quantity
|
||||
unit: days since Jan 1 1970
|
||||
lifetime: application
|
||||
description: |
|
||||
Optional.
|
||||
The day the profile was recovered from backup,
|
||||
persisted in `times.json`.
|
||||
e.g. 16446
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950400
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950400
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- mconley@mozilla.com
|
||||
- dtownsend@mozilla.com
|
||||
expires: never
|
||||
|
||||
@@ -60,3 +60,391 @@ widget:
|
||||
- froydnj@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: IDLE_NOTIFY_IDLE_MS
|
||||
|
||||
gfx.features:
|
||||
compositor:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
Layers backend for compositing.
|
||||
One of "d3d9", "d3d11", "opengl", "basic", or "none".
|
||||
"none" indicates no compositors have been created.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950412
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950412
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
d3d11:
|
||||
type: object
|
||||
lifetime: application
|
||||
description: |
|
||||
(Windows-only) information about the D3D11 compositor.
|
||||
* status - One of
|
||||
* "unused" - This feature has not been requested.
|
||||
* "unavailable" - Safe Mode or OS restriction prevents use.
|
||||
* "blocked" - An internal condition (such as safe mode) prevents use.
|
||||
* "blocklisted" - Blocked due to a blocklist restriction.
|
||||
* "denied" - Blocked due to allowlist restrictions.
|
||||
* "disabled" - User explicitly disabled this default feature.
|
||||
* "failed" - Feature failed to initialize.
|
||||
* "available" - User has this feature available by default.
|
||||
optionally including ":" followed by a reason
|
||||
e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973".
|
||||
* warp - Software rendering (WARP) mode was chosen.
|
||||
* textureSharing - Whether or not texture sharing works.
|
||||
* version - The D3D11 device feature level.
|
||||
* blocklisted - Whether D3D11 is blocklisted; use to see whether WARP
|
||||
was blacklist induced or driver-failure induced.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950412
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950412
|
||||
data_sensitivity:
|
||||
- technical
|
||||
structure:
|
||||
type: object
|
||||
properties:
|
||||
status:
|
||||
type: string
|
||||
warp:
|
||||
type: boolean
|
||||
textureSharing:
|
||||
type: boolean
|
||||
version:
|
||||
type: number
|
||||
blocklisted:
|
||||
type: boolean
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
d2d:
|
||||
type: object
|
||||
lifetime: application
|
||||
description: |
|
||||
(Windows-only) information about the D2D compositor.
|
||||
* status - One of
|
||||
* "unused" - This feature has not been requested.
|
||||
* "unavailable" - Safe Mode or OS restriction prevents use.
|
||||
* "blocked" - An internal condition (such as safe mode) prevents use.
|
||||
* "blocklisted" - Blocked due to a blocklist restriction.
|
||||
* "denied" - Blocked due to allowlist restrictions.
|
||||
* "disabled" - User explicitly disabled this default feature.
|
||||
* "failed" - Feature failed to initialize.
|
||||
* "available" - User has this feature available by default.
|
||||
optionally including ":" followed by a reason
|
||||
e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973".
|
||||
* version - The feature version, either "1.0" or "1.1"
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950412
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950412
|
||||
data_sensitivity:
|
||||
- technical
|
||||
structure:
|
||||
type: object
|
||||
properties:
|
||||
status:
|
||||
type: string
|
||||
version:
|
||||
type: number
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
hw_compositing: &basic_gfx_feature
|
||||
type: object
|
||||
lifetime: application
|
||||
description: |
|
||||
Information about the hardware acceleration GFX feature.
|
||||
(i.e. whether we try using the GPU)
|
||||
* status - One of
|
||||
* "unused" - This feature has not been requested.
|
||||
* "unavailable" - Safe Mode or OS restriction prevents use.
|
||||
* "blocked" - An internal condition (such as safe mode) prevents use.
|
||||
* "blocklisted" - Blocked due to a blocklist restriction.
|
||||
* "denied" - Blocked due to allowlist restrictions.
|
||||
* "disabled" - User explicitly disabled this default feature.
|
||||
* "failed" - Feature failed to initialize.
|
||||
* "available" - User has this feature available by default.
|
||||
optionally including ":" followed by a reason
|
||||
e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973".
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950412
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950412
|
||||
data_sensitivity:
|
||||
- technical
|
||||
structure:
|
||||
type: object
|
||||
properties:
|
||||
status:
|
||||
type: string
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
gpu_process:
|
||||
<<: *basic_gfx_feature
|
||||
description: |
|
||||
Information about the out-of-process compositing ("GPU Process") GFX feature.
|
||||
* status - One of
|
||||
* "unused" - This feature has not been requested.
|
||||
* "unavailable" - Safe Mode or OS restriction prevents use.
|
||||
* "blocked" - An internal condition (such as safe mode) prevents use.
|
||||
* "blocklisted" - Blocked due to a blocklist restriction.
|
||||
* "denied" - Blocked due to allowlist restrictions.
|
||||
* "disabled" - User explicitly disabled this default feature.
|
||||
* "failed" - Feature failed to initialize.
|
||||
* "available" - User has this feature available by default and it's in use.
|
||||
optionally including ":" followed by a reason
|
||||
e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973".
|
||||
|
||||
webrender:
|
||||
<<: *basic_gfx_feature
|
||||
description: |
|
||||
Information about the Webrender GFX feature.
|
||||
* status - One of
|
||||
* "unused" - This feature has not been requested.
|
||||
* "unavailable" - Safe Mode or OS restriction prevents use.
|
||||
* "blocked" - An internal condition (such as safe mode) prevents use.
|
||||
* "blocklisted" - Blocked due to a blocklist restriction.
|
||||
* "denied" - Blocked due to allowlist restrictions.
|
||||
* "disabled" - User explicitly disabled this default feature.
|
||||
* "failed" - Feature failed to initialize.
|
||||
* "available" - User has this feature available by default.
|
||||
optionally including ":" followed by a reason
|
||||
e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973".
|
||||
|
||||
wr_compositor:
|
||||
<<: *basic_gfx_feature
|
||||
description: |
|
||||
Information about the native OS compositor (CA, DCamp, etc.).
|
||||
* status - One of
|
||||
* "unused" - This feature has not been requested.
|
||||
* "unavailable" - Safe Mode or OS restriction prevents use.
|
||||
* "blocked" - An internal condition (such as safe mode) prevents use.
|
||||
* "blocklisted" - Blocked due to a blocklist restriction.
|
||||
* "denied" - Blocked due to allowlist restrictions.
|
||||
* "disabled" - User explicitly disabled this default feature.
|
||||
* "failed" - Feature failed to initialize.
|
||||
* "available" - User has this feature available by default.
|
||||
optionally including ":" followed by a reason
|
||||
e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973".
|
||||
|
||||
opengl_compositing:
|
||||
<<: *basic_gfx_feature
|
||||
description: |
|
||||
Information about the OpenGL Compositing GFX feature.
|
||||
* status - One of
|
||||
* "unused" - This feature has not been requested.
|
||||
* "unavailable" - Safe Mode or OS restriction prevents use.
|
||||
* "blocked" - An internal condition (such as safe mode) prevents use.
|
||||
* "blocklisted" - Blocked due to a blocklist restriction.
|
||||
* "denied" - Blocked due to allowlist restrictions.
|
||||
* "disabled" - User explicitly disabled this default feature.
|
||||
* "failed" - Feature failed to initialize.
|
||||
* "available" - User has this feature available by default.
|
||||
optionally including ":" followed by a reason
|
||||
e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973".
|
||||
|
||||
omtp:
|
||||
<<: *basic_gfx_feature
|
||||
description: |
|
||||
Information about the Off Main Thread Painting GFX feature.
|
||||
* status - One of
|
||||
* "unused" - This feature has not been requested.
|
||||
* "unavailable" - Safe Mode or OS restriction prevents use.
|
||||
* "blocked" - An internal condition (such as safe mode) prevents use.
|
||||
* "blocklisted" - Blocked due to a blocklist restriction.
|
||||
* "denied" - Blocked due to allowlist restrictions.
|
||||
* "disabled" - User explicitly disabled this default feature.
|
||||
* "failed" - Feature failed to initialize.
|
||||
* "available" - User has this feature available by default.
|
||||
optionally including ":" followed by a reason
|
||||
e.g. "FEATURE_FAILURE_WEBRENDER_VIDEO_CRASH_INTEL_23.20.16.4973".
|
||||
gfx:
|
||||
d2d_enabled:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether Direct2D is enabled. (Windows-only)
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
dwrite_enabled:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether DirectWrite is enabled. (Windows-only)
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
content_backend:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The content backend (e.g. "Direct2D 1.1", "Skia", "Cairo").
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
headless:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether the app's running in headless mode (e.g. via `MOZ_HEADLESS`).
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
target_frame_rate:
|
||||
type: quantity
|
||||
unit: hertz
|
||||
lifetime: application
|
||||
description: |
|
||||
The frame rate in Hz, typically 60 or more.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
text_scale_factor:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The text scale factor.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
monitors:
|
||||
type: object
|
||||
lifetime: application
|
||||
description: |
|
||||
Information about connected monitors.
|
||||
On Linux only a single monitor is returned for the primary screen.
|
||||
* screenWidth - Screen width in pixels
|
||||
* screenHeight - Screen height in pixels
|
||||
* defaultCSSScaleFactor - The default number of device pixels per unscaled CSS pixel for this screen.
|
||||
* contentsScaleFactor - The number of device pixels per desktop pixel for this screen.
|
||||
* refreshRate - (Windows only) The target screen refresh rate, in Hz, or 0 if unknown.
|
||||
* pseudoDislay - (Windows only) Whether the screen is a pseudo display.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_sensitivity:
|
||||
- technical
|
||||
structure:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
screenWidth:
|
||||
type: number
|
||||
screenHeight:
|
||||
type: number
|
||||
defaultCSSScaleFactor:
|
||||
type: string
|
||||
contentsScaleFactor:
|
||||
type: string
|
||||
refreshRate:
|
||||
type: number
|
||||
pseudoDisplay:
|
||||
type: boolean
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
adapters:
|
||||
type: object
|
||||
lifetime: application
|
||||
description: |
|
||||
Information about the primary (and secondary, if available) graphics adapter.
|
||||
* description - e.g. "Intel(R) HD Graphics 4600"
|
||||
* vendorID - Hex vendor id
|
||||
* deviceID - Hex device id
|
||||
* subsysID - Hex subsys id
|
||||
* RAM - reported RAM in megabytes.
|
||||
* driver - Platform-specific driver information.
|
||||
* driverVendor - Driver vendor information.
|
||||
* driverVersion - Driver version.
|
||||
* driverDate - Driver date.
|
||||
* GPUActive - Whether this adapter is active.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950411
|
||||
data_sensitivity:
|
||||
- technical
|
||||
structure:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
properties:
|
||||
description:
|
||||
type: string
|
||||
vendorID:
|
||||
type: string
|
||||
deviceID:
|
||||
type: string
|
||||
subsysID:
|
||||
type: string
|
||||
RAM:
|
||||
type: number
|
||||
driver:
|
||||
type: string
|
||||
driverVendor:
|
||||
type: string
|
||||
driverVersion:
|
||||
type: string
|
||||
driverDate:
|
||||
type: string
|
||||
GPUActive:
|
||||
type: boolean
|
||||
notification_emails:
|
||||
- gfx-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
@@ -66,3 +66,49 @@ widget:
|
||||
- jimm@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: h#TOUCH_ENABLED_DEVICE
|
||||
|
||||
windows.security:
|
||||
antivirus:
|
||||
type: string_list
|
||||
description: |
|
||||
Product names of registered antivirus programs.
|
||||
Windows only.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950415
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950415
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- jimm@mozilla.com
|
||||
expires: never
|
||||
|
||||
antispyware:
|
||||
type: string_list
|
||||
description: |
|
||||
Product names of registered antispyware programs.
|
||||
Windows only.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950415
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950415
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- jimm@mozilla.com
|
||||
expires: never
|
||||
|
||||
firewall:
|
||||
type: string_list
|
||||
description: |
|
||||
Product names of registered firewall programs.
|
||||
Windows only.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950415
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950415
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- jimm@mozilla.com
|
||||
expires: never
|
||||
|
||||
@@ -1172,3 +1172,345 @@ system.cpu:
|
||||
- florian@mozilla.com
|
||||
expires: never
|
||||
unit: megahertz
|
||||
|
||||
extensions:
|
||||
type: string_list
|
||||
lifetime: application
|
||||
description: >
|
||||
Recognized CPU extensions.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1962547
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1962547
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
hdd:
|
||||
profile: &hdd_object
|
||||
type: object
|
||||
lifetime: application
|
||||
description: |
|
||||
Information about the disk the profile is stored on.
|
||||
Windows only.
|
||||
* model - The disk's self-reported model string
|
||||
* revision - The disk's self-reported revision string
|
||||
* diskType - Either "HDD" or "SSD"
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950410
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950410
|
||||
data_sensitivity:
|
||||
- technical
|
||||
structure:
|
||||
type: object
|
||||
properties:
|
||||
model:
|
||||
type: string
|
||||
revision:
|
||||
type: string
|
||||
diskType:
|
||||
type: string
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
binary:
|
||||
<<: *hdd_object
|
||||
description: |
|
||||
Information about the disk the application binary is stored on.
|
||||
Windows only.
|
||||
* model - The disk's self-reported model string
|
||||
* revision - The disk's self-reported revision string
|
||||
* diskType - Either "HDD" or "SSD"
|
||||
|
||||
system:
|
||||
<<: *hdd_object
|
||||
description: |
|
||||
Information about the disk the system files are stored on.
|
||||
Windows only.
|
||||
* model - The disk's self-reported model string
|
||||
* revision - The disk's self-reported revision string
|
||||
* diskType - Either "HDD" or "SSD"
|
||||
|
||||
system.os:
|
||||
name:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The Operating System's name, according to sysinfo.
|
||||
e.g. "Windows_NT"
|
||||
Expected in most cases to be identical to `client_info.os`.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
version:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The Operating System's version, according to sysinfo.
|
||||
e.g. "6.3"
|
||||
Expected in most cases to be identical to `client_info.os_version`.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
locale:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The Operating System's local, according to ospreferences.
|
||||
e.g. "en-US"
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
distro:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The Operating System's distribution, according to sysinfo.
|
||||
Linux only.
|
||||
e.g. "Linuxmint"
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
distro_version:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The Operating System's distribution's version, according to sysinfo.
|
||||
Linux only.
|
||||
e.g. "22"
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
service_pack_major:
|
||||
type: quantity
|
||||
unit: version
|
||||
lifetime: application
|
||||
description: |
|
||||
The Windows service pack's major version, according to WindowsVersionInfo.
|
||||
Windows only.
|
||||
e.g. 0
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
service_pack_minor:
|
||||
type: quantity
|
||||
unit: version
|
||||
lifetime: application
|
||||
description: |
|
||||
The Windows service pack's minor version, according to WindowsVersionInfo.
|
||||
Windows only.
|
||||
e.g. 0
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
windows_build_number:
|
||||
type: quantity
|
||||
unit: build number
|
||||
lifetime: application
|
||||
description: |
|
||||
The Windows build number, according to WindowsVersionInfo.
|
||||
Windows only.
|
||||
e.g. 26100
|
||||
Expected in most cases to be identical to `client_info.windows_build_number`.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
windows_ubr:
|
||||
type: quantity
|
||||
unit: build number
|
||||
lifetime: application
|
||||
description: |
|
||||
The Windows update build revision number, according to
|
||||
`SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion`.
|
||||
Windows only.
|
||||
e.g. 3775
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950409
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
system:
|
||||
memory:
|
||||
type: quantity
|
||||
unit: MB
|
||||
lifetime: application
|
||||
description: |
|
||||
The physical memory size in MB (2^20 bytes).
|
||||
e.g. 32211
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- memshrink-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
virtual_memory:
|
||||
type: quantity
|
||||
unit: MB
|
||||
lifetime: application
|
||||
description: |
|
||||
The size of the user-mode portion of the virtual address space of the parent process.
|
||||
Windows only.
|
||||
e.g. 134217728
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- memshrink-telemetry-alerts@mozilla.com
|
||||
expires: never
|
||||
|
||||
is_wow_64:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether we're in Windows32-on-Windows64 mode.
|
||||
Windows only.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
is_wow_arm_64:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether we're in Windows32-on-WindowsForArm64 mode.
|
||||
Windows only.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
has_win_package_id:
|
||||
type: boolean
|
||||
lifetime: application
|
||||
description: |
|
||||
Whether the app has a package identity.
|
||||
Windows only.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@ozilla.com
|
||||
expires: never
|
||||
|
||||
win_package_family_name:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The full application package name without any of the components that might change
|
||||
during the life cycle of the app (such as the version number or the architecture).
|
||||
Uniquely identifies the application within one Windows installation.
|
||||
Windows only.
|
||||
Only included if it begins with "Mozilla." or "MozillaCorporation.".
|
||||
e.g. "Mozilla.Firefox_n80bbvh6b1yt2"
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
apple_model_id:
|
||||
type: string
|
||||
lifetime: application
|
||||
description: |
|
||||
The `hw.model` of the hardware running this software.
|
||||
Mac only.
|
||||
e.g. "MacBookPro14,1"
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1950403
|
||||
data_sensitivity:
|
||||
- technical
|
||||
notification_emails:
|
||||
- gijs@mozilla.com
|
||||
expires: never
|
||||
|
||||
Reference in New Issue
Block a user