Wattson 是一款基于软件的工具,可对在受支持的 Android 设备上运行的应用的硬件块(例如 CPU 和 GPU)功耗和能耗估算值进行基于跟踪记录的分析。Wattson 旨在使功耗测试像 性能测试一样简单、可扩缩且可重现,从而克服 传统上与功耗 测量相关的重大硬件挑战。
功耗测试挑战
性能分析可以使用标准开发设备完成,但在测试功耗时会面临重大挑战:
- 复杂的硬件: 功耗测试需要昂贵的定制测量硬件,这种硬件容易出现设置和校准错误。
- 可扩缩性有限: 此硬件的成本和维护开销使其难以在测试实验室中扩缩。
- 重现性差: 功耗对制造差异、环境温度和硬件校准非常敏感,因此难以始终如一地重现结果。
- 粗略的归因: 即使使用最好的硬件,功耗归因通常也仅限于整个设备,或者最多是特定的电源轨,因此难以确定哪些软件线程负责能耗。
Wattson:使用软件进行功耗分析
Wattson 通过将分析从硬件转移到软件来解决这些功耗分析挑战。Wattson 基于 Android 的系统级跟踪记录工具 Perfetto 构建,用于分析硬件块活动并提供高保真度的功耗估算值,而无需任何外部测量设备。
Wattson 的工作原理
Wattson 利用
Perfetto捕获的现有内核跟踪点,特别是 cpufreq、cpuidle、
和线程调度事件。通过处理此跟踪记录数据,Wattson 会为每个硬件块生成详细的时间序列功耗估算值。
此方法的主要优势包括:
- 零设置成本: Wattson 不需要额外的硬件或费用。如果您可以捕获 Perfetto 跟踪记录,则可以使用 Wattson。
- 线程级归因: 开发者可以查看各个线程的精确能源消耗估算值,从而实现有针对性的优化。
- 高分辨率和保真度: Wattson 的估算值与实际硬件测量值高度相关,因此可用于 A/B 测试和比较分析。
- 可扩缩性: Wattson 可以集成到自动化测试和持续集成 (CI) 流水线中,以便尽早发现功耗回归。
支持的设备
支持的 SoC 包括:
| 制造商 | SoC | ro.soc.model | 示例设备 |
|---|---|---|---|
| Tensor G1 | Tensor | Pixel 6、6 Pro 和 6a | |
| Tensor G4 | Tensor G4 | Pixel 9、9 Pro、9 Pro XL、9 Pro Fold 和 9a | |
| G5 | Tensor G5 | Pixel 10、10 Pro、10 Pro XL 和 10 Pro Fold | |
| Qualcomm | SW5100 | monaco | Pixel Watch 2、3 和 4 |
| SXR2230P | SXR2230P | Galaxy XR | |
| SM8750 | SM8750 | Samsung S25 | |
| MediaTek | MT6897 | MT6897 | Transsion Infinix Note 50 Pro+ 5G |
如需请求支持其他设备,请与 wattson-external@google.com联系。
接下来怎么做?
- 如需分析应用的功耗,请参阅收集和分析跟踪记录。
- 如有任何问题或反馈,请通过 wattson-external@google.com与开发团队联系。