Сборщики показателей на основе хоста

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

Схема сборщика показателей

Базовый класс, который расширяют все сборщики, – 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>

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

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