安装 Ping¶
安装 Ping 包含一些关于系统和安装过程的数据,在安装程序退出时发送[1]。
Stub Ping¶
Stub 安装程序 在其退出之前发送一个 Ping,在 stub.nsi 的 SendPing 函数中。这被发送到 DSMO (download-stats.mozilla.org) 作为 HTTP GET 请求。
摄取在 gcp-ingestion 中由 ParseUri 中的 StubUri 类处理。几个字段是代码,在数据库表中被分解成多个布尔列。
完整安装 Ping¶
完整安装程序 在其退出之前发送一个 Ping,在 installer.nsi 的 SendPing 函数中。这是一个带有 JSON 文档的 HTTP POST 请求,发送到标准遥测端点 (incoming.telemetry.mozilla.org)。
为了避免重复计数,完整安装程序在从 Stub 安装程序启动时不会发送 Ping,因此其中 installer_type = "full"
的 Ping 对应于未使用 Stub 的安装。
查询安装 Ping¶
Ping 记录在 firefox_installer.install
表中,可在 Redash [2] 中使用默认的“遥测 (BigQuery)”数据源访问。
一些列被标记为 [已弃用],因为它们涉及已删除的功能,主要是在 Firefox 55 中简化 Stub 安装程序时简化。这些列未被删除是为了保持兼容性,以便我们可以继续使用旧数据,但它们不应该再被使用。
列用 “(stub)”、“(full)” 或 “(both)” 注释,以指示哪种类型的安装程序提供有意义的值。
另请参阅 JSON 模式。
- submission_timestamp (both)
接收 Ping 的时间
- installer_type (both)
生成此 Ping 的安装程序类型 (完整或 Stub)
- installer_version (full)
安装程序本身的版本[3]
- build_channel (both)
安装程序使用其品牌构建的渠道 (“release”、“beta”、“nightly” 或 “default”)
- update_channel (both)
安装程序构建的 MOZ_UPDATE_CHANNEL 值;通常应与 build_channel 相同
- version, build_id (both)
已安装产品的版本号和构建 ID,来自
application.ini
。这**不是**安装程序本身的版本,请参阅 stub_build_id。stub: 如果安装失败则为 0
full: 如果未找到则为
""
[4]- locale (both)
安装程序和已安装产品的区域设置,采用 AB_CD 格式
- from_msi (full)
如果安装是从 MSI 包装程序启动的,则为 True。
- _64bit_build (both)
如果为安装选择了 64 位构建,则为 True。
stub: 这意味着操作系统为 64 位,满足内存要求,并且未发现阻止 64 位安装的第三方软件
full: 根据要安装的体系结构硬编码
- _64bit_os (both)
如果机器上的 Windows 版本为 64 位,则为 True。
- os_version (both)
Windows 的版本号,采用
major.minor.build
格式[5]- service_pack (stub)
机器上安装的最新 Windows Service Pack。
- server_os (both)
如果安装的操作系统是 Windows 的服务器版本,则为 True。
- admin_user (both)
如果安装程序由具有管理员权限的用户运行(并且接受了 UAC 提示),则为 True。具体来说,这报告了 HKLM 是否可写。
- default_path (both)
如果未更改默认安装路径,则为 True。
stub: [已弃用] [6]
- set_default (both)
如果将新安装设置为默认浏览器的选项保持选中状态,则为 True。
stub: [已弃用] [7]
- new_default (both)
如果新安装现在是默认浏览器(已注册以处理 http 协议),则为 True。
full: 使用
AppAssocReg::QueryCurrentDefault
和 HKCU 检查关联。stub: [已弃用] [8]
- old_default (both)
如果不同目录中的 firefox.exe 现在是默认浏览器,则为 True,与 new_default 互斥。详细信息与 new_default 相同。
- had_old_install (both)
如果在此安装之前系统上发现至少一个现有的 Firefox 安装,则为 True。
full: 检查
Software\Mozilla\${BrandFullName}
注册表项中给出的安装目录,HKLM 或 HKCUstub: 检查顶级配置文件目录
%LOCALAPPDATA%\Mozilla\Firefox
- old_version, old_build_id (stub)
安装目录中先前 Firefox 安装的版本号和构建 ID(来自
application.ini
),如果未找到则为 0- bytes_downloaded (stub)
在下载结束之前传输的完整安装程序数据的的大小(无论它是否失败、被取消或正常完成)
- download_size (stub)
根据 HTTP 响应标头预期的完整安装程序下载大小
- download_retries (stub)
完整安装程序下载重试或恢复的次数。最多 10 次重试。
- download_time (stub)
下载完整安装程序所花费的秒数[9]
- download_latency (stub)
发送完整安装程序下载请求和接收第一个响应数据之间的秒数
- download_ip (stub)
从中下载完整安装程序的服务器的 IP 地址(可以是 IPv4 或 IPv6)
- manual_download (stub)
如果用户单击打开手动下载页面的按钮,则为 True。在安装失败或取消后会显示此提示。
- intro_time (both)
用户在介绍屏幕上花费的秒数。
stub: [已弃用] 简化的 Stub 不再有此屏幕,因此这始终应为 0。
- options_time (both)
用户在选项屏幕上花费的秒数。
stub: [已弃用] 简化的 Stub 不再有此屏幕,因此这始终应为 0。
- preinstall_time (stub)
验证下载的完整安装程序并准备运行它所花费的秒数
- install_time (both)
full: 安装阶段所花费的秒数。
stub: 完整安装程序所花费的秒数。
- finish_time (both)
full: 用户在完成页面上花费的秒数。
stub: 等待已安装的应用程序启动所花费的秒数。
- succeeded (both)
如果成功创建了新安装,则为 True。如果由于任何原因未发生这种情况,则为 False,包括用户关闭安装程序窗口时。
- disk_space_error (stub)
[已弃用] 如果安装失败是因为我们尝试安装到的驱动器没有足够的空间,则为 True。简化的 Stub 在这种情况下不再发送 Ping,因为安装驱动器无法再选择。
- no_write_access (stub)
[已弃用] 如果安装失败是因为用户没有权限写入我们尝试安装到的路径,则为 True。简化的 Stub 在这种情况下不再发送 Ping,因为安装目录无法再选择。
- user_cancelled (both)
如果安装失败是因为用户取消了安装或关闭了窗口,则为 True。
- out_of_retries (stub)
如果安装失败是因为下载必须重试太多次(目前为 10 次),则为 True
- file_error (stub)
如果安装失败是因为无法从下载的文件中读取,则为 True
- sig_not_trusted (stub)
如果安装失败是因为下载的文件上的签名无效或未由受信任的机构签名,则为 True
- sig_unexpected (stub)
如果安装失败是因为下载的文件上的签名没有预期的主题和发行者名称,则为 True
- install_timeout (stub)
如果安装失败是因为运行完整安装程序超时,则为 True。目前这意味着它为新安装运行了超过 200 秒,或为覆盖安装运行了超过 215 秒。
- new_launched (both)
如果安装成功并尝试启动新安装的应用程序,则为 True。
- old_running (stub)
[已弃用] 如果安装成功,但我们无法启动新安装的应用程序,因为 Firefox 的副本已经在运行,则为 True。这始终应为 False,因为在 Firefox 74 中已删除了检查正在运行的副本。
- attribution (both)
安装程序中包含的任何归因数据
- profile_cleanup_prompt (stub)
0:未显示配置文件清理提示
1:显示了配置文件清理提示的“重新安装”版本(未找到现有安装,但用户确实有旧的 Firefox 配置文件)
2:显示了配置文件清理提示的“覆盖”版本(Firefox 的安装已经存在,但它是旧版本)
- profile_cleanup_requested (stub)
如果显示了任何配置文件清理提示并且用户接受了提示,则为 True
- funnelcake (stub)
Funnelcake ID
- ping_version (stub)
Stub Ping 的版本,目前为 8
- silent (full)
如果安装是静默安装的,则为 True(请参阅 完整安装程序配置)
- stub_build_id (stub)
Stub 安装程序的构建 ID。
- windows_ubr (both)
安装设备的 Windows 更新构建修订版。