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.