Intel Power Monitoring Tool — на страже энергоэффективности

в 7:36, , рубрики: android, Блог компании Intel, Разработка под android

Intel Power Monitoring Tool — на страже энергоэффективностиМы продолжаем разговор об энергоэффективности мобильных устройств и приложениях Intel под Android. Сегодняшний пост касается обеих тем одновременно, ведь речь пойдет о программе Intel Power Monitoring Tool (Intel PMT) — средстве, позволяющем осуществлять аудит потребляемых ресурсов как системой в целом, так и отдельным приложением. Intel PMT может быть интересен любопытным пользователям Android, желающим все знать о своей системе, но адресована прежде всего разработчикам и служит средством диагностики проблем, не видимых невооруженным глазом.

Итак, Intel Power Monitoring Tool является инструментом профилирования данных системы Android, связанных с энергопотреблением и производительностью. С заданным пользователем интервалом приложение записывает действующие значения четырех десятков основных показателей ОС (количество десятков сильно зависит от числа ядер процессора, поскольку именно он находится в центре внимания утилиты). Среди этих значений вы найдете параметры:

  • Батареи — состояние, напряжение, ток, потребляемую/получаемую мощность, оставшуюся емкость;
  • ЦПУ — частоту и утилизацию каждого ядра, CPU P state residency и CPU C state residency;
  • Дисплея — состояние, яркость подсветки
  • Интерфейсов Wi-Fi и 3G — скорость передачи в пакетах и битах
  • Внешних и внутренних устройств хранения — скорость записи и чтения

Intel Power Monitoring Tool — на страже энергоэффективностиИнтерфейс приложения суров и не перегружен каким-либо дизайном. Элементы управления исчерпываются буквально несколькими кнопками, реализующими самое необходимое. Можно стартовать процесс записи (он идет в фоне) и остановить его; вывести результаты на дисплей или строку состояния системы; отправить лог программы по почте. Наконец, отдельной кнопокой инициируется мониторинг конкретного приложения, имя которого, в лучших традициях консольных утилит, вводится вручную.
Вывод результатов оформлен еще проще: никаких графических представлений данных, только текстовый формат, только хардкор! Возможно, такой подход и оправдан, ведь профессиональным разработчикам нужна не цветомузыка, а поток цифровых данных, который далее можно обработать в базе данных или табличном редакторе. С другой стороны, с непривычки такой аскетизм выглядит чрезмерным — можно было включить визуализацию хотя бы в виде опции.
Программа пишет свой лог в текстовом формате, его можно получить через подключение к ПК или с помощью электронной почты — соответствующая кнопка есть в интерфейсе. Каждая строчка лога имеет такой вид:


07:40:21 Status Charging BP 406.30 V 3833 I 106 C 692 CPU0 900 27.00% 17.00% 10.00% CPU1 900 42.00% 39.00% 3.00% CpuPStateResidency 0.00% 1.01% 13.13% 85.86% 0.00% CpuCStateResidency 0.01% 3.44% 41.49% 11.09% 43.98% 0.00% 0.00% On 1 Brightness 15.00% WifiTxPackets 0 WifiRxPackets 0 WifiTxBytes 0 WifiRxBytes 0 ModemTxPackets 0 ModemRxPackets 0 ModemTxBytes 0 ModemRxBytes 0 DiskReadBandwidth 0.00 DiskWriteBandwidth 0.00 EmmcReadBandwidth 0.00 EmmcWriteBandwidth 6.00 SdCardReadBandwidth 0.00 SdCardWriteBandwidth 0.00 youtube PID 3858 AppState 83 AppNumOfThreads 48 AppCpuUserUtil 21.00 AppCpuSystemUtil 2.00 AppCpuUtil 23.00

Что означает каждое поле, можно выяснить из таблицы.
Intel Power Monitoring Tool — на страже энергоэффективности

Последняя секция лога относится к контролируемому приложению, в данном примере им является клиент YouTube.

Каким образом Intel Power Monitoring Tool может быть использован для нужд разработчиков? Приведем с сокращениями пример из статьи, посвященной инструменту, с сайта Intel.

Предположим, Марк — разработчик приложений для мобильных устройств Android. Он разработал приложение для чтения книг под названием EReader. Ему хотелось бы выяснить, нет ли в его приложении серьезных проблем с энергопотреблением и производительностью. Для этого он решил использовать инструмент Power Monitoring Tool. Изучая полученные данные, он обращает внимание на то, что общая загрузка процессора и загрузка процессора приложением почти достигает 100 % без каких-либо действий пользователя. Он решает проверить данные профилирования, чтобы выяснить, является ли это проблемой. Он извлекает данные Power Monitoring Tool и строит графики загрузки процессора пользовательским приложением и системой, как показано на следующем рисунке. На этом рисунке загрузка процессора пользовательским приложением достигает 50 %, что означает, что приложение полностью использует одно ядро для выполнения кода в пользовательском пространстве.

Intel Power Monitoring Tool — на страже энергоэффективности

Благодаря полученным от инструмента Power Monitoring Tool данным о загрузке процессора приложением Марк определяет, что максимальная загрузка процессора приходится на момент открытия книги. Марк догадывается, что это может быть вызвано фрагментом кода, открывающим электронную книгу. Он проверяет этот фрагмент кода и находит в нем ошибку в виде бесконечного цикла.

Несмотря на некоторую деревянность интерфейса, Intel Power Monitoring Tool может оказаться удобным средством для тех разработчиков, кто скрупулезно следит за энергоэффективностью своих приложений. К сожалению, приложение уже довольно давно (более года) не обновлялось, что приводит к некоторой несовместимости с новым «железом» (о чем программа честно сообщает при запуске). Правда, в случае нашего тестового смартфона Orange AZ210A несовместимость проявила себя только в отсутствии показаний с Wi-Fi интерфейса. Приложение Intel PMT работает под управлением ОС Android 2.3 и выше на платформе Intel Atom.

Автор: saul

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js