首选项和定义

遥测行为通过此处列出的 mozconfig 定义和首选项进行控制。

mozconfig 定义

MOZ_TELEMETRY_REPORTING

已定义时(官方构建中已定义)

  • 如果未定义 RELEASE_OR_BETA,则定义 MOZ_TELEMETRY_ON_BY_DEFAULT

未定义时

  • 如果 datareporting.healthreport.uploadEnabled 被锁定,我们会显示一条消息,告知您无法打开数据提交,并禁用复选框,以免您尝试。

  • Android:隐藏数据提交 UI,以免用户误以为可以打开它

  • 禁用遥测发送(由于 Telemetry::IsOfficialTelemetry

MOZ_TELEMETRY_ON_BY_DEFAULT

已定义时

  • Android:启用 toolkit.telemetry.enabled

MOZ_SERVICES_HEALTHREPORT

已定义时(大多数平台上已定义)

  • modules/libpref/init/all.js 中设置 datareporting.healthreport.{infoURL|uploadEnabled}

MOZ_DATA_REPORTING

已定义时(当 MOZ_TELEMETRY_REPORTINGMOZ_SERVICES_HEALTHREPORTMOZ_CRASHREPORTER 已定义时(因此,在大多数平台上,但在开发人员构建中通常不定义))

  • 启用 app.shield.optoutstudies.enabled

未定义时

  • 禁用 app.shield.optoutstudies.enabled

  • 删除 privacy.xhtml 中的数据收集首选项 UI 的部分内容

MOZILLA_OFFICIAL

未定义时(在我们的外部构建和来自几个 Linux 发行版的构建中定义,但在开发人员构建中通常不定义)

  • 禁用遥测发送(由于 Telemetry::IsOfficialTelemetry

MOZ_UPDATE_CHANNEL

不是 releasebeta

  • 如果还定义了 MOZ_TELEMETRY_REPORTING,则定义 MOZ_TELEMETRY_ON_BY_DEFAULT

beta

  • 如果在启动时 toolkit.telemetry.enabled 未设置,则 toolkit.telemetry.enabled 默认为 true(这与 MOZ_TELEMETRY_REPORTING 无关)

nightlyaurorabetadefault

  • 桌面:将 toolkit.telemetry.enabled 锁定为 true。桌面上的 MOZ_UPDATE_CHANNEL 的所有其他值都将 toolkit.telemetry.enabled 锁定为 false

  • 桌面:将 Telemetry::CanRecordExtended(以及 Telemetry::CanRecordReleaseData)默认为 true。桌面上的 MOZ_UPDATE_CHANNEL 的所有其他值都将这些值默认为 false

DEBUG

已定义时

  • 禁用遥测发送(由于 Telemetry::IsOfficialTelemetry

简而言之

对于从 mozilla.com 下载的构建,MOZ_TELEMETRY_REPORTING 已定义,如果您下载了 Nightly 或 Developer Edition,则 MOZ_TELEMETRY_ON_BY_DEFAULT 为开,MOZ_SERVICES_HEALTHREPORT 已定义,MOZ_DATA_REPORTING 已定义,MOZILLA_OFFICIAL 已定义,MOZ_UPDATE_CHANNEL 设置为您下载的通道,并且 DEBUG 为 false。这意味着遥测默认情况下会收集一定量的信息并将其发送到 Mozilla。

对于使用空白 mozconfig 自己构建的构建,MOZ_UPDATE_CHANNEL 设置为 default,其他所有内容都未定义。这意味着遥测默认情况下会收集更多信息,但不会将其发送到任何地方。

首选项

toolkit.telemetry.unified

这控制是否启用统一行为。如果为真

  • 遥测始终启用并记录基本数据。

  • 遥测将发送额外的 main ping。

它默认为 true,但在 Android (Fennec) 构建中为 false

toolkit.telemetry.enabled

如果 unified 关闭,则这控制是否启用遥测模块。可以通过 Firefox for Android (Fennec) 中的“首选项”对话框设置或取消设置。如果 unified 打开,则如果 MOZ_UPDATE_CHANNELnightlyaurorabetadefault(这是开发人员构建的 MOZ_UPDATE_CHANNEL 的默认值),则将其锁定为 true。否则,将其锁定为 false。这控制越来越少的事物,并且旨在弃用,然后删除。

datareporting.healthreport.uploadEnabled

如果 unified 为真,则这控制我们是否发送遥测数据。如果 unified 为假,我们不使用此值。

toolkit.telemetry.archive.enabled

允许在本地存档 ping。只有在 unified 打开时才能启用此功能。

toolkit.telemetry.server

发送遥测 ping 的服务器。更改需要重新启动。

toolkit.telemetry.log.level

这根据 Log.sys.mjs 设置遥测日志记录详细程度。可用的级别(按详细程度从高到低排列)为 TraceDebugConfigInfoWarnErrorFatal,默认值为 Warn

默认情况下,日志记录仅发送到控制台服务。

toolkit.telemetry.log.dump

设置是否也将遥测日志消息转储到 stdout

toolkit.telemetry.shutdownPingSender.enabled

允许在浏览器关闭时发送 shutdown ping,从第二个浏览会话开始,而不是在下次重启时发送,使用 ping 发送器

toolkit.telemetry.shutdownPingSender.enabledFirstSession

允许从第一个浏览会话开始使用 ping 发送器 发送 shutdown ping。

toolkit.telemetry.firstShutdownPing.enabled

允许第一个浏览会话的 main 关闭 ping 的副本作为单独的 first-shutdown ping 发送。

toolkit.telemetry.newProfilePing.enabled

在新的配置文件上启用 “new-profile” ping

toolkit.telemetry.newProfilePing.delay

控制在新的配置文件上发送 “new-profile” ping 之前的延迟。

toolkit.telemetry.updatePing.enabled

在浏览器更新时启用 “update” ping

toolkit.telemetry.eventping.minimumFrequency

发送 “event” ping 的最低频率。默认为 60(分钟)。

toolkit.telemetry.eventping.maximumFrequency

发送 “event” ping 的最高频率。默认为 10(分钟)。

toolkit.telemetry.overrideUpdateChannel

覆盖通过遥测报告的 channel 值。这对于区分否则仍报告为相同更新通道的不同类型的构建很有用。

toolkit.telemetry.ipcBatchTimeout

在将子进程中的累积发送到父进程之前,我们批量累积多长时间(以毫秒为单位)。默认为 2000(毫秒)。

数据选择通知

toolkit.telemetry.reportingpolicy.firstRun

此首选项在第一次运行之前不存在。之后,其值设置为 false。这用于显示带有更积极超时时间的 infobar(如果尚未显示)。

datareporting.policy.firstRunURL

如果设置,则会在第一次运行时打开浏览器选项卡而不是 infobar。

datareporting.policy.dataSubmissionEnabled

这是数据提交主开关。如果禁用,则永远不会显示或上传任何策略。

datareporting.policy.dataSubmissionPolicyNotifiedTime

记录向用户显示策略的日期。此偏好设置在 Android 上也使用。

datareporting.policy.dataSubmissionPolicyAcceptedVersion

记录通知给用户的策略版本。此偏好设置在 Android 上也使用。

datareporting.policy.dataSubmissionPolicyBypassNotification

用于测试,它允许跳过通知检查。

datareporting.policy.currentPolicyVersion

存储当前策略版本,覆盖 TelemetryReportingPolicy.sys.mjs 中定义的默认值。

datareporting.policy.minimumPolicyVersion

当前策略接受的最低策略版本。这可以按渠道设置。

datareporting.policy.minimumPolicyVersion.channel-NAME

这是我们目前用于最低策略版本的唯一特定于渠道的版本。

测试

以下偏好设置仅用于测试目的。

toolkit.telemetry.initDelay

初始化遥测之前的延迟(秒)。

toolkit.telemetry.minSubsessionLength

遥测子会话的最小长度以及常见环境更改的节流时间(秒)。

toolkit.telemetry.collectInterval

数据收集之间的最小间隔(秒)。

toolkit.telemetry.scheduler.tickInterval

调度程序滴答之间的间隔(秒)。

toolkit.telemetry.scheduler.idleTickInterval

用户空闲时调度程序滴答之间的间隔(秒)。

toolkit.telemetry.idleTimeout

我们确定用户是否空闲的超时时间(秒)。

toolkit.telemetry.modulesPing.interval

“模块” ping 传输之间的间隔。

toolkit.telemetry.send.overrideOfficialCheck

如果为真,则允许在非正式版本上发送 ping。需要重新启动。

toolkit.telemetry.testing.overridePreRelease

如果为真,则允许在发布渠道上记录选择加入的遥测。需要重新启动。

toolkit.telemetry.untrustedModulesPing.frequency

“untrustedModules” ping 传输之间的间隔(秒)。

toolkit.telemetry.healthping.enabled

如果为假,则禁用发送健康 ping。默认为真。

toolkit.telemetry.testing.disableFuzzingDelay

如果为真,则在本地时间凌晨 0 点到 1 点之间发送时,不会延迟 ping 发送。

toolkit.telemetry.testing.overrideProductsCheck

如果为真,则允许记录所有探针,无论当前产品是什么。