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 | Google Pixel 6、Google Pixel 6 Pro、Google Pixel 6a | |
| Tensor G4 | Tensor G4 | Google Pixel 9、Google Pixel 9 Pro、Google Pixel 9 Pro XL、Google Pixel 9 Pro Fold、Google Pixel 9a | |
| G5 | Tensor G5 | Google Pixel 10、Google Pixel 10 Pro、Google Pixel 10 Pro XL、Google Pixel 10 Pro Fold | |
| Qualcomm | SW5100 | モナコ | Google Pixel Watch 2、Google Pixel Watch 3、Google Pixel Watch 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)までお問い合わせください。