Сборщики метрик на основе хоста

Сборщики метрик, управляемые хостом, работают на хосте, а не на стороне устройства. Они взаимодействуют с устройством со стороны хоста, чтобы собирать метрики, на которые они нацелены.

Проектирование сборщика метрик

Базовым классом, расширяющим все сборщики, является BaseDeviceMetricCollector , который помогает предоставлять те же общие базовые функции:

  • Фильтрация
  • Отключение
  • Сбор данных по тестовым случаям и тестовым запускам

Коллекторы следуют модели отчета о результатах , поскольку они синхронизируются с выполнением теста на хосте. Другими словами, если тесты управляются хостом, коллекторы выполняются до того, как тест переходит к следующему этапу выполнения.

Например, если сборщик выполняется в testEnded , сборщики выполняются до того, как выполнение переходит к следующему тесту с testStart .

Внедрить сборщик метрик на основе хоста

При реализации поверх базового класса BaseDeviceMetricCollector вы можете решить, когда собирать метрики в течение жизненного цикла:

  • Когда начинается тестовый запуск: onTestRunStart
  • Когда начинается тестовый случай: onTestStart
  • Когда тестовый случай заканчивается: onTestEnd
  • Когда тестовый прогон заканчивается: onTestRunEnd

Выполнить асинхронный сбор

В дополнение к синхронным методам TF предоставляет базовый класс для реализации, который выполняет периодический асинхронный сбор данных, ScheduledDeviceMetricCollector , который предоставляет метод collect для реализации, который выполняется периодически.

Период настраивается с помощью опций.

XML-конфигурация

Тег объекта — metrics_collector , например:

<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
    <option name="categories" value="freq"/>
</metrics_collector>

Рекомендации

Посмотрите на существующий список сборщиков , чтобы убедиться, что вы не дублируете работу. Мы стараемся обеспечить максимальную возможность повторного использования, поэтому выполнение каждым сборщиком одного типа сбора позволяет больше смешивать и сопоставлять различные сборщики во время выполнения теста.