Kolekcjoner metryk sterowany przez hosta

Moduły zbierające metryki sterowane przez hosta działają na hoście, a nie po stronie urządzenia. Wchodzą w interakcję z urządzeniem po stronie hosta, aby zbierać dane, na które są ukierunkowane.

Projekt zbieracza metryk

Klasą bazową, którą będą rozszerzać wszystkie moduły zbierające, jest BaseDeviceMetricCollector , która pomaga zapewnić te same wspólne podstawowe funkcjonalności:

  • Filtracja
  • Wyłączanie
  • Zbieranie przypadków testowych a przebiegi testowe

Kolektory działają zgodnie z modelem raportującym wyniki , ponieważ synchronizują się z wykonaniem testu na hoście. Innymi słowy, jeśli testy są sterowane przez hosta, moduły zbierające zostaną wykonane, zanim test przejdzie do następnego kroku wykonania.

Na przykład, jeśli moduł zbierający wykona testEnded , zanim wykonanie przejdzie do następnego testu z testStart , moduły zbierające zostaną wykonane.

Zaimplementuj moduł zbierający metryki sterowany przez hosta

Implementując na podstawie klasy bazowej BaseDeviceMetricCollector , możesz zdecydować, kiedy chcesz zbierać metryki w trakcie cyklu życia:

  • Po rozpoczęciu uruchomienia testowego: onTestRunStart
  • Kiedy rozpoczyna się przypadek testowy: onTestStart
  • Po zakończeniu przypadku testowego: onTestEnd
  • Po zakończeniu uruchomienia testowego: onTestRunEnd

Wykonaj zbieranie asynchroniczne

Oprócz metod synchronicznych TF udostępnia klasę bazową do zaimplementowania, która wykonuje okresowe asynchroniczne zbieranie danych, ScheduledDeviceMetricCollector , która udostępnia metodę collect do zaimplementowania, która będzie uruchamiana okresowo.

Okres można dostosować za pomocą opcji.

Konfiguracja XML

Znakiem obiektu będzie metrics_collector , na przykład:

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

Zalecenia

Najpierw przejrzyj istniejącą listę kolekcjonerów, aby upewnić się, że nie dublujesz pracy. Staramy się zapewnić maksymalną możliwość ponownego użycia, dlatego posiadanie każdego kolektora wykonującego jeden rodzaj kolekcji pozwala na większe mieszanie i dopasowywanie różnych kolektorów podczas wykonywania testu.

,

Moduły zbierające metryki sterowane przez hosta działają na hoście, a nie po stronie urządzenia. Wchodzą w interakcję z urządzeniem po stronie hosta, aby zbierać dane, na które są ukierunkowane.

Projekt zbieracza metryk

Klasą bazową, którą będą rozszerzać wszystkie moduły zbierające, jest BaseDeviceMetricCollector , która pomaga zapewnić te same wspólne podstawowe funkcjonalności:

  • Filtracja
  • Wyłączanie
  • Zbieranie przypadków testowych a przebiegi testowe

Kolektory działają zgodnie z modelem raportującym wyniki , ponieważ synchronizują się z wykonaniem testu na hoście. Innymi słowy, jeśli testy są sterowane przez hosta, moduły zbierające zostaną wykonane, zanim test przejdzie do następnego kroku wykonania.

Na przykład, jeśli moduł zbierający wykona testEnded , zanim wykonanie przejdzie do następnego testu z testStart , moduły zbierające zostaną wykonane.

Zaimplementuj moduł zbierający metryki sterowany przez hosta

Implementując na podstawie klasy bazowej BaseDeviceMetricCollector , możesz zdecydować, kiedy chcesz zbierać metryki w trakcie cyklu życia:

  • Po rozpoczęciu uruchomienia testowego: onTestRunStart
  • Kiedy rozpoczyna się przypadek testowy: onTestStart
  • Po zakończeniu przypadku testowego: onTestEnd
  • Po zakończeniu uruchomienia testowego: onTestRunEnd

Wykonaj zbieranie asynchroniczne

Oprócz metod synchronicznych TF udostępnia klasę bazową do zaimplementowania, która wykonuje okresowe asynchroniczne zbieranie danych, ScheduledDeviceMetricCollector , która udostępnia metodę collect do zaimplementowania, która będzie uruchamiana okresowo.

Okres można dostosować za pomocą opcji.

Konfiguracja XML

Znakiem obiektu będzie metrics_collector , na przykład:

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

Zalecenia

Najpierw przejrzyj istniejącą listę kolekcjonerów, aby upewnić się, że nie dublujesz pracy. Staramy się zapewnić maksymalną możliwość ponownego użycia, dlatego posiadanie każdego kolektora wykonującego jeden rodzaj kolekcji pozwala na większe mieszanie i dopasowywanie różnych kolektorów podczas wykonywania testu.