性能维护

1 概述

性能维护人员负责确保检测并处理 Firefox 中的性能变化。他们查看性能测试框架生成的性能数据和指标,查找回归问题,确定根本原因,并记录 Bug 以跟踪所有问题。我们遵循的工作流程如下面的流程图所示。

1.1 流程图

Sheriffing Workflow Flowchart

维护人员的工作流程包括:回填作业以获取数据,调查数据,根据数据提交 Bug/关联改进,并在需要时与开发人员跟进。

1.2 联系人及团队

如果您遇到紧急问题需要帮助,该怎么办?

如果您对已提交并分配给您的 Bug 有疑问,请在 Matrix 上联系提交该 Bug 的维护人员。如果性能维护人员没有响应,或者您对 Bug 有疑问,请发送消息到 性能维护人员 Matrix 频道 并标记维护人员。如果您仍然没有人响应,您可以直接在 Slack 或 Matrix 上联系以下人员中的任何一人

除了 @andrej 和 @sparky 在 EST(东部标准时间)外,所有团队成员都在 EET(东欧时间)。

1.3 回归和改进定义

每当我们发现性能变化时,我们将其归类为两件事之一,要么是回归(性能下降),要么是改进(性能提升)。

2 如何调查警报

在本节中,我们将介绍性能维护人员如何调查警报。

2.1 过滤和阅读警报

Perfherder 页面上,您应该会看到如下内容

Alerts View Toolbar

访问 Perfherder 警报页面后,请确保过滤器(位于下方屏幕截图的顶部中间)设置为显示维护所需的正确警报。当从最左侧的下拉菜单中选择 **未分类** 选项时,可以找到新的警报。如下面的屏幕截图所示

Alerts View Toolbar

从左到右的其他下拉菜单如下所示

  • **测试工具**:更改此项将带您查看在不同测试工具上生成的警报

  • **过滤器输入**,您可以在其中键入一些文本并按 Enter 以缩小警报视图范围

  • **“隐藏下游/重新分配到/无效”**:启用此项(推荐)以减少页面上的杂乱

  • **“我的警报”**:仅显示分配给您的警报。

以下是警报的屏幕截图

Alerts View Toolbar

您可以通过查看粗体文本来识别警报,它会显示“警报 #XXXXX”,在每个警报中,您都有测试摘要的分组,以及这些测试

  • 可以在不同的平台上运行

  • 可以共享套件名称(如 tp5o)

  • 衡量各种指标

  • 共享相同的框架

从警报内部列的左侧到右侧开始,从测试开始,我们有

  • 一个蓝色超链接,链接到测试文档(如果可用)

  • **平台**操作系统

  • 关于该**信息**历史数据分布

  • 与测试相关的标签和选项

2.2 回归与改进

首先要注意的是,**我们优先处理回归**!与**改进**不同,回归会将 Bug 传递给用户,如果不解决,会使我们的产品变差并导致用户流失。在确认警报后

  • 回归会经历多个状态更改(待办事项:链接到包含多个状态更改的部分),直到最终解决

  • 改进只有一个状态:改进

2.3 框架阈值

不同的框架测试不同的内容,触发警报并被视为性能变化的阈值根据测试工具而异

  • AWSY >= 0.25%

  • 构建指标安装程序大小 >= 100kb

  • Talos、Browsertime、构建指标 >= 2%