Одновременный анализ энергопотребления/производительности Android-устройств с помощью Intel VTune Amplifier и SoC Watch

от автора

Благодаря некоторым новым возможностям, доступным в Intel VTune Amplifier 2016 Update 1, в настоящее время сравнительно просто организовать одновременный анализ энергопотребления и производительности Android-устройств без необходимости их постоянного соединения с компьютером по USB.


Стоит отметить, что, хотя можно подключить Android-устройство к компьютеру по схеме «ADB over WiFi», и, таким образом избежать необходимости использования опции анализа отключённого устройства, обычно проще подключить целевое устройство по USB. Если вы вместо этого хотите использовать WiFi, можете найти инструкции по настройке этой схемы в документации к Intel VTune Amplifier.

Шаг 1. Подготовка к анализу производительности

В окне программы, на вкладке Analysis Target (Цель анализа), в группе свойств Advanced (Дополнительные), нужно установить флажок Analyze unplugged device (Анализ отключённого устройства). Кроме того, рекомендуется настроить параметр Automatically stop collection after (sec) (Автоматически остановить сбор данных через (секунд)) и указать желаемое время сбора данных. Также, нужно указать то же время и для сбора данных об энергопотреблении.

Затем следует выбрать Analysis Type (Тип анализа), настроить параметры. После того, как всё готово, не спешите нажимать на кнопку запуска анализа (Start) для того, чтобы сначала подготовить инструмент анализа энергопотребления, который будет собирать данные вместе со средством исследования производительности.


Настройка анализа устройства

Шаг 2. Подготовка анализа энергопотребления

Используя командную строку, подключитесь к устройству через ADB и подготовьте его для сбора данных по энергопотреблению. Если данный вид анализа вам незнаком, взгляните на это руководство.

Прежде чем запускать сборщик данных, не забудьте о команде «nohup» и о параметре «&», задающем фоновый запуск процедуры анализа. Не нажимайте пока клавишу Enter для запуска сбора, так как нам ещё нужно синхронизировать подсистемы анализа производительности и энергопотребления для того, чтобы эти процессы шли одновременно.

Вот пример вышеупомянутой команды для запуска сбора данных об энергопотреблении из Intel SoC Watch 1.5.4. Если вы пользуетесь SoC Watch версии 2.0. или более новой (2.1.1., например), воспользуйтесь ключом «-r vtune» для того, чтобы система провела обработку собранных данных для их импорта в Intel VTune Amplifier.

nohup ./socwatch -m -f sys -f wakelock -t 35 -o ./results/concurr_test &

Обратите внимание на то, что значок «&» в конце строки – это стандартная функция Linux/Unix для запуска команды в качестве фоновой задачи. Использование «nohup» в начале говорит системе о том, что фоновую задачу не нужно привязывать к существующему окну терминала. Другими словами, когда терминал закроется (ADB-соединение разорвётся, когда USB-кабель будет отключён от устройства), система не прервёт выполнение команды.

Шаг 3. Синхронизация начала работы сборщиков данных

На данном этапе работы вернитесь в окно Intel VTune Amplifier и нажмите кнопку Start. На устройстве при этом можно будет наблюдать за стандартным набором сообщений, затем появятся новые сообщения, имеющие отношение к работе в «отключённом» режиме. В итоге вы увидите такое сообщение: «Unplug the device please. Collection will start automatically» («Отключите пожалуйста устройство. Сбор данных начнётся автоматически»).

В этот момент вернитесь к окну командной строки, в котором настраивали сбор данных Intel SoC Watch, и запустите команду, которая в нём набрана, нажав Enter. После этого отключите USB-кабель.

На отключённом устройстве запустите, как обычно это делаете, приложение, которое будет создавать нагрузку на систему. Обратите внимание на то, что при отключённом USB-кабеле Amplifier не остановит это приложение автоматически после того, как пройдёт время, в течение которого он собирает данные. Поэтому, когда истечёт время, отведённое на сбор данных, снова подключите устройство к компьютеру.

Шаг 4. Анализ результатов

Когда сбор данных завершится и устройство снова окажется подключённым к компьютеру по USB, собранные данные о производительности будут переданы на компьютер, будет произведена их автоматическая обработка, точно так же, как если бы устройство и не отключали.

После обработки результатов сбора данных и отображения их в окне Intel VTune Amplifier, вернитесь в окно командной строки Intel SoC Watch и остановите сбор результатов. Теперь их можно импортировать в Intel VTune Amplifier для дальнейшего анализа.

Выводы

Одновременный анализ энергопотребления и производительности устройства позволяет лучше понять особенности функционирования как «железа» и ОС, так и приложения, которое создаёт нагрузку. Благодаря такому анализу можно взглянуть на программу с новой точки зрения, а значит – обнаружить «узкие места» и недоработки, которые раньше были незаметны. В результате разработчик получает больше возможностей для создания быстрых и экономичных Android-приложений.

ссылка на оригинал статьи https://habrahabr.ru/post/281200/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *