Wattson — это программный инструмент, обеспечивающий анализ мощности и энергопотребления аппаратных блоков (например, центрального и графического процессоров) на основе трассировки для приложений, работающих на поддерживаемых устройствах Android. Wattson разработан для того, чтобы сделать тестирование мощности таким же простым, масштабируемым и воспроизводимым, как и тестирование производительности, преодолевая значительные аппаратные сложности, традиционно связанные с измерением мощности.
Проблемы тестирования мощности
Анализ производительности можно выполнить с помощью стандартного устройства разработки, но при тестировании мощности возникают существенные проблемы:
- Сложное оборудование: для тестирования мощности требуется дорогостоящее, изготовленное на заказ измерительное оборудование, подверженное ошибкам настройки и калибровки.
- Ограниченная масштабируемость: стоимость и накладные расходы на обслуживание этого оборудования затрудняют масштабирование в пределах тестовой лаборатории.
- Плохая воспроизводимость: Потребляемая мощность чувствительна к производственным различиям, температуре окружающей среды и калибровке оборудования, что затрудняет последовательное воспроизведение результатов.
- Грубое распределение: даже при использовании лучшего оборудования распределение мощности часто ограничивается всем устройством или, в лучшем случае, конкретной шиной питания, что затрудняет определение того, какие программные потоки отвечают за потребление энергии.
Уотсон: Анализ мощности с помощью программного обеспечения
Wattson решает эти задачи анализа энергопотребления, перенося анализ с аппаратного на программное обеспечение. Wattson создан на основе Perfetto, инструмента трассировки всей системы Android, который позволяет анализировать активность аппаратных блоков и предоставлять высокоточные оценки энергопотребления без использования внешнего измерительного оборудования.
Как работает Уотсон
Wattson использует существующие точки трассировки ядра, собранные Perfetto , в частности, события cpufreq , cpuidle и планирования потоков. Обрабатывая эти данные трассировки, Wattson генерирует подробные временные ряды оценок энергопотребления для каждого аппаратного блока. Ключевые преимущества такого подхода:
- Нулевые затраты на установку: Wattson не требует дополнительного оборудования или дополнительных затрат. Если вы можете записать трассировку Perfetto, вы можете использовать Wattson.
- Атрибуция на уровне потоков: разработчики могут видеть точные оценки потребления энергии для отдельных потоков, что позволяет проводить целенаправленную оптимизацию.
- Высокое разрешение и точность: оценки Уотсона очень хорошо коррелируют с реальными измерениями оборудования, что делает их надежными для A/B-тестирования и сравнительного анализа.
- Масштабируемость: Wattson можно интегрировать в конвейеры автоматизированного тестирования и непрерывной интеграции (CI) для раннего выявления снижения энергопотребления.
Поддерживаемые устройства
Поддерживаемые устройства включают в себя следующее:
- Pixel 6, 6 Pro и 6a
- Pixel 9, 9 Pro и 9 Pro XL
- Pixel Fold
- Pixel Watch 2 и 3
Чтобы получить поддержку дополнительных устройств, напишите на wattson-external@google.com.
Что дальше?
- Чтобы проанализировать энергопотребление вашего приложения, см. раздел Сбор и анализ трассировок .
- Если у вас есть вопросы или вы хотите оставить отзыв, свяжитесь с командой разработчиков по адресу wattson-external@google.com .