- “响应能力”衡量用户与应用交互时的反应速度。用户期望从按下按钮到看到用户界面更新期间不会出现明显延迟。
- “流畅度”(也称为“顺畅度”)衡量动画、滚动和视频播放的顺畅程度,是否存在卡顿、抖动或掉帧的情况。
- 使用KPI可视化工具
- 衡量和了解应用的关键性能指标
- 设置衡量方法
- 解释结果
先决条件
在使用Vega应用KPI可视化工具之前:-
安装Vega性能API模块:
-
阅读以下部分:
- 每个KPI衡量的内容及其目标指南。参阅应用KPI指标和指南。
- 应用在不同场景中如何启动。请参阅启动场景。
- 何时设置性能标记。请参阅完全绘制的标记。
- 要衡量前台内存、视频流畅度或用户界面流畅度,请按照衡量流畅度和前台内存中的说明进行操作。
- 选择您的衡量方法:
应用KPI指标和指南
下表列出了主要KPI以及与其关联的微型KPI。主要KPI衡量整体性能指标,而微型KPI代表影响主要KPI的具体可衡量部分。 例如,应用程序JavaScript包加载时间是一个微型KPI,会影响总体完全绘制时间 (TTFD) KPI。空的微型KPI单元格表示没有特定子组件对该主要KPI有贡献。
启动场景
KPI可视化工具可衡量两种类型的应用启动场景,以评估TTFF和TTFD性能:- 冷启动 - 指用户首次启动应用,并且系统会将所有资源和依赖项加载到内存中。
- 热启动 - 指用户将应用从后台(非活动状态)切换到前台(活动状态),并且内存中已有一些资源和依赖项。
完全绘制的标记
当您的应用变得可用于用户交互时,完全绘制的标记会发出信号。标记:- 表示您的应用何时完成其主要组件的加载。
- 标记用户何时可以开始与您的应用进行交互。
- 帮助衡量TTFD性能。
- 将
useReportFullyDrawn挂钩添加到您的应用。 - 在以下关键点放置标记:
- Cool start(冷启动)- 在加载初始数据并渲染主屏幕之后。
- Warm start(热启动)- 当您的应用在前台运行后变得响应迅速时。
在VS Code中衡量KPI
步骤1:在VS Code中打开命令面板
- 对于 Mac:Shift+Command ⌘+P
- 对于Linux,Ctrl+Shift+P
步骤2:输入Vega: Launch App KPI Visualizer
步骤3:按Enter
您也可以选择Vega Studio面板中的App KPI Visualizer。
步骤4:选择用例
要衡量前台内存和视频播放流畅度,请创建与用户与应用交互方式相匹配的自定义测试场景。
例如:
- 对于内存测试 - 包括视频播放或图像加载
- 对于视频播放 - 包括典型的视频观看模式
冷启动KPI
- 在设备上启动测试应用
- 等待10秒钟让测试应用加载。
- 关闭测试应用
- 处理KPI
热启动KPI
- 在设备上启动测试应用
- 在设备上启动另一个应用,将测试应用移至后台
- 启动测试应用,将其移至前台。
- 等待15秒钟让测试应用加载。
- 关闭测试应用
- 处理KPI
前台内存KPI
- 在设备上启动测试应用
- 在测试场景中执行指定的步骤。
- 捕获KPI以进行分析和报告。
- 关闭测试应用
- 处理KPI
后台内存KPI
- 在设备上启动测试应用
- 在设备上启动另一个应用,将测试应用移至后台
- 等待15秒钟以收集测试应用的KPI。
- 关闭测试应用
- 处理KPI
用户界面流畅度KPI
- 在设备上启动测试应用
-
选择测试方法:
- 自定义测试 - 使用您自己的用户界面交互场景
- 默认测试 - 使用标准滚动模式
- 两组水平滚动(向左五个,向右五个)
- 两组垂直滚动(向下五个,向上五个)
- 操作间隔900毫秒
-
选择Cancel(取消)或按Esc结束测试。
- 捕获KPI以进行分析和报告。
- 关闭测试应用
- 处理KPI
视频播放流畅度KPI
- 在设备上启动测试应用
- 执行视频播放测试场景中的步骤。
- 捕获KPI以进行分析和报告。
- 关闭测试应用
- 处理KPI
步骤5:选择在测试期间是否忽略跟踪丢失问题
当您的应用出现性能问题时,可能会发生严重的跟踪丢失问题。Vega应用KPI可视化工具不会加载跟踪,并在报告中将KPI显示为N/A。
在生成KPI报告以查看指标时,您可以选择忽略跟踪丢失问题。但是,忽略跟踪丢失问题会导致生成的KPI值似乎要优于实际性能。
步骤6:在可视化工具窗口中查看KPI分数
该窗口显示通过三次测试迭代计算得出的P90(第90个百分位数)值。步骤7:评估结果
要评估结果,请参阅了解性能报告。使用CLI命令衡量KPI
步骤1:检查设备就绪情况
在命令提示符下,运行vega exec perf doctor命令以检查主机和目标设备是否已准备就绪。
--app-name替换为manifest.toml文件中的程序包ID。当多个设备运行时,指定设备序列号。在perf命令中使用--device-serial-number参数。
仅连接单台设备的示例:
步骤2:启动Vega应用KPI可视化工具
app-name是唯一一个必需要有的参数。将[app-name]替换为manifest.toml文件中默认交互组件的ID。
步骤3:(可选)指定迭代次数。
默认迭代次数:三次,或者如果使用了--certification,则为30次。
步骤4:(可选)指定要衡量的KPI
步骤5:查看所有可用选项
stdout中看到报告摘要。
示例报告:
了解性能报告
Vega应用KPI可视化工具会显示性能报告,其中包括:-
Test information(测试信息)
- Date(日期)- 系统捕获KPI数据的日期
- Device Serial ID(设备序列号)- 运行应用的设备的唯一标识符
- App(应用)- 显示KPI数据的应用的名称
- Number of iterations(迭代次数)- 执行KPI衡量进程的次数
- KPI Name(KPI名称)- 带单位的KPI的名称
- Test Name(测试名称)- 测试或已完成用例的名称
-
KPI Health(KPI健康状况)- 代表每个KPI健康状况的颜色编码系统:
- 🟢(绿色)- 表示在建议值范围内。
- 🟡(黄色)- 表示超过建议值10%以内。
- 🔴(红色)- 表示超过建议值10%以上。
- KPI Score(KPI分数)- KPI的数值,以KPI名称中指定的单位显示。如果可视化工具无法计算KPI,则会显示KPI分数为“N/A”(不适用),并将KPI Health列为“Unknown”(未知)。
- Guideline(指南)- 基于行业标准或性能目标提供的KPI分数建议值或范围。
结果示例
下图显示了每个用例的结果示例。请注意与指南相关的KPI Health指标和分数。用例:冷启动TTFF和TTFD
以下结果显示了启动性能指标。绿色指示灯表示应用符合启动时间指南的要求。
用例:热启动TTFF和TTFD
以下结果表示应用如何从后台状态恢复。比较TTFF和TTFD时间以评估优化需求。
用例:前台内存
以下结果显示了您的应用在活跃使用期间的内存使用情况。监控此指标,以防因内存消耗过多而导致性能问题。
用例:后台内存
以下结果显示了您的应用在后台状态下的内存占用量。了解应用处于非活动状态时对系统资源的影响有助于优化后台行为。
用例:用户界面流畅度
以下结果显示了您的应用处理用户交互的顺畅程度。该百分比表示在滚动和导航期间成功渲染的帧。
用例:视频播放流畅度
以下结果显示了您的应用播放视频内容的顺畅程度。该百分比表示以预期播放速率成功传输的帧。此场景还包括媒体播放器和输入事件微型KPI。
打开KPI报告
Vega应用KPI可视化工具在完成测试场景后会生成以下报告文件:- aggregated-kpi-report-[时间戳].json - 整合来自所有测试场景的KPI数据
- [测试名称]-kpi-report-[时间戳].json - 为每个单独的测试场景创建一个文件[测试名称] 用于标识特定场景
选项1(首选):使用快速打开
此方法可通过VS Code的界面或CLI访问您的记录。在VS Code中
- 使用VS Code快速打开或在项目的
app-launch-kpi-report-[timestamp].json目录中查找KPI报告文件(例如:generated)。 - 选择文件一次进行预览,或单击两次以活动模式打开。
在CLI中
-
打开终端窗口并输入:
如果您的终端无法识别
code命令,请打开VS Code命令面板(使用Mac时按Cmd+Shift+P,使用Linux时按Ctrl+Shift+P)。 - 选择Shell Command: Install code command in PATH(Shell命令:在PATH中安装code命令)。
- 重试该命令。
选项2:使用VS Code命令面板
此方法可让您使用VS Code的内置命令界面或在快速打开不可用时访问您的记录。- 打开VS Code。
- 打开命令面板(使用Mac时按Cmd+Shift+P,使用Linux时按Ctrl+Shift+P)。
- 输入Vega: Open Recording View(Vega:打开记录视图)。
-
选择要打开的文件,例如
app-launch-kpi-report-[timestamp].json。

