浏览器使用遥测¶
该 BrowserUsageTelemetry.sys.mjs 模块是用于测量浏览器使用情况(例如标签页和窗口数量、搜索次数等)的主要模块。
测量记录从 SessionStore
完成会话恢复(即 Firefox 启动后恢复标签页/窗口)后立即开始。
标签页和窗口交互¶
使用遥测模块目前测量以下与浏览器标签页和窗口的交互:
标签页和窗口参与度:计算会话恢复后子会话中打开的非隐私标签页和窗口的数量(例如,参见
browser.engagement.max_concurrent_tab_count
);URI 加载:计算用户直接触发的页面加载次数(不跟踪和发送地址,只计算次数),参见
browser.engagement.total_uri_count
);导航事件:目前,这仅计算页面加载由特定 UI 交互触发的次数(例如,通过 URL 栏搜索,参见
browser.engagement.navigation.urlbar
)。
请参阅 Scalars.yaml 以获取跟踪交互的完整列表。
可自定义 UI¶
此遥测记录有关工具栏项目位置以及用户何时与之交互的信息。它作为标量值与正常的遥测 ping 一起提交。此遥测包含许多不同的部分。
UI 区域¶
出于此遥测的目的,定义了一组区域。
在主浏览器 UI 中
menu-bar
- 主菜单。menu-toolbar
- 通常隐藏的工具栏,包含主菜单。titlebar
- 可选标题栏。tabs-bar
- 显示标签页的区域。vertical-tabs-container
- 显示垂直标签页的区域。bookmarks-bar
- 书签工具栏。app-menu
- 主应用程序(汉堡包)菜单。tabs-context
- 从右键单击标签页显示的上下文菜单。content-context
- 从右键单击网页显示的上下文菜单。widget-overflow-list
- 超出可用空间的项目。pinned-overflow-menu
- 用户已固定到工具栏溢出菜单的项目。pageaction-urlbar
- 地址栏中的页面操作按钮。pageaction-panel
- 页面操作(肉丸)菜单。nav-bar-start
- 导航工具栏地址栏之前的区域。nav-bar-end
- 导航工具栏地址栏之后的区域。unified-extensions-area
- 统一扩展面板。
在
about:preferences
中使用不同的类别preferences-paneGeneral
preferences-paneHome
preferences-panePrivacy
preferences-paneSearch
preferences-paneSearchResults
preferences-paneSync
preferences-paneContainers
部件标识符¶
为了唯一标识一个视觉元素,使用一组启发式方法。
如果元素是可自定义工具栏项目之一,则使用该项目的 ID。
如果 DOM 元素设置了 ID,则使用该 ID。
如果 DOM 元素的类包含
bookmark-item
、tab-icon-sound
或tab-close-button
,则使用该类。如果 DOM 元素具有
preference
key
、command
、observes
或data-l10n-id
属性,则使用该属性。如果仍然没有标识符,则对 DOM 元素的父元素重复此过程。
部件位置¶
键控标量 browser.ui.toolbar_widgets
记录 UI 中部件的位置。在启动时,通过将标量键 <widget id>_pinned_<area>
设置为 true 来收集和记录部件的位置。部件 ID 是 DOM 中元素的 ID。区域是上面列出的可以自定义的浏览器 UI 中的区域之一。
对于可以控制的区域,设置标量键 <area>_<off/on/newtab>
。 newtab
对书签工具栏来说是特殊的,当工具栏仅在新标签页中显示时使用。
部件自定义¶
标量 browser.ui.customized_widgets
记录用户何时在工具栏周围移动部件或显示或隐藏某些区域。发生更改时,键为 <widget id>_<action>_<old area>_<new area>_<reason>
的标量递增。操作可以是 move
、add
或 remove
之一。旧区域和新区域是部件的先前位置和当前位置。在 add
或 remove
操作的情况下,其中一个区域将为 na
。对于可以显示或隐藏的区域,区域将为 off
或 on
。原因是一个简单的字符串,指示导致移动发生的原因(拖动、上下文菜单等)。
UI 交互¶
标量 browser.ui.interaction.<area>
记录用户与浏览器交互的频率。区域是上面列出的区域之一,以及 keyboard
(用于键盘快捷键)。
发生交互时,使用部件的标识符作为键,并递增标量。如果部件由附加组件提供,则删除附加组件标识符,并使用 addonX
形式的标识符,其中 X 是一个数字。此数字在一个会话中是稳定的。每次用户移动或与附加组件交互时,都会使用相同的数字,但是 Firefox 重新启动后,每个附加组件的数字可能会发生变化。
配置文件数量¶
标量 browser.engagement.profile_count
记录当前 Firefox 安装使用了多少个配置文件。它报告一个分段结果,如果发生错误,则为 0。对于 1-10,将报告原始值,但高于此值,则对于 10-99 报告 10,对于 100-999 报告 100,对于 1000-9999 报告 1000,对于任何大于此值的值报告 10000。
安装的配置文件数量数据存储在更新目录的根目录中,名为 profile_count_<install hash>.json
的文件中。文件的完整路径通常类似于 C:\ProgramData\Mozilla\profile_count_5A9E6E2F272F7AA0.json
。
此值旨在对重新安装具有弹性,因此在卸载 Firefox 时不会删除该文件。