Wattson – это программный инструмент, который позволяет анализировать энергопотребление аппаратных блоков (например, ЦП и графического процессоров) и оценивать энергозатраты приложений, работающих на поддерживаемых устройствах Android. Wattson позволяет проводить тестирование энергопотребления так же просто, масштабируемо и воспроизводимо, как и тестирование производительности, преодолевая значительные аппаратные проблемы, традиционно связанные с измерением энергопотребления.
Проблемы с тестированием питания
Анализ производительности можно проводить на стандартном устройстве для разработки, но при тестировании энергопотребления возникают значительные трудности:
- Сложное оборудование. Для тестирования энергопотребления требуется дорогое специальное оборудование, которое легко повредить при настройке и калибровке.
- Ограниченная масштабируемость. Из-за стоимости и сложности обслуживания этого оборудования его трудно масштабировать в тестовой лаборатории.
- Низкая воспроизводимость. Потребление энергии зависит от различий в производстве, температуры окружающей среды и калибровки оборудования, поэтому результаты сложно воспроизвести.
- Приблизительная атрибуция. Даже при использовании лучшего оборудования атрибуция энергопотребления часто ограничивается всем устройством или, в лучшем случае, определенной шиной питания. Из-за этого сложно определить, какие программные потоки отвечают за энергопотребление.
WatsOn: анализ энергопотребления с помощью ПО
WatsOn решает эти проблемы, перенося анализ с оборудования на программное обеспечение. Wattson создан на основе Perfetto – системного инструмента трассировки Android. Он анализирует активность аппаратных блоков и предоставляет точные оценки энергопотребления без использования внешнего измерительного оборудования.
Как работает Ваттсон
Wattson использует существующие точки трассировки ядра, захваченные Perfetto, в частности cpufreq, cpuidle и события планирования потоков. Обрабатывая эти данные, Wattson создает подробные временные ряды оценок энергопотребления для каждого аппаратного блока.
Основные преимущества этого подхода:
- Нулевая стоимость настройки. Wattson не требует дополнительного оборудования или расходов. Если вы можете записать трассировку Perfetto, то можете использовать Wattson.
- Атрибуция на уровне потока. Разработчики могут видеть точные оценки потребления энергии для отдельных потоков, что позволяет выполнять целенаправленную оптимизацию.
- Высокое разрешение и точность. Оценки Wattson очень хорошо соотносятся с фактическими измерениями оборудования, что делает их надежными для A/B-тестирования и сравнительного анализа.
- Масштабируемость. Wattson можно интегрировать в автоматизированное тестирование и конвейеры непрерывной интеграции (CI), чтобы выявлять регрессии энергопотребления на ранних этапах.
Поддерживаемые устройства
Поддерживаются следующие 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 | |
| Г5 | Tensor G5 | Pixel 10, 10 Pro, 10 Pro XL и 10 Pro Fold | |
| Qualcomm | SW5100 | Монако | 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.