Kolektory danych opartych na hosta działają na hoście, a nie po stronie urządzenia. Ta interakcji z urządzeniem po stronie hosta w celu zbierania potrzebnych danych. kierowania reklam.
Projekt kolektora danych
Klasa bazowa, którą rozszerzają wszystkie kolektory, to BaseDeviceMetricCollector, co pomaga udostępniać te same podstawowe funkcje:
- Filtrowanie
- Wyłączam
- Gromadzenie danych w przypadkach testowych a uruchomienia testów
Zbieracze działają zgodnie z modelem przesyłającego wyniki, ponieważ synchronizują się z wynikiem testu na hoście. W innym Jeśli testy są oparte na hoście, kolektory są wykonywane przed testem przechodzi do następnego kroku wykonania.
Jeśli na przykład kolektor zostanie wykonany testEnded
, przed wykonaniem
przechodzi do następnego testu z użyciem metody testStart
, który uruchomi kolektory.
Wdrażanie kolektora danych opartych na hoście
Podczas implementowania na klasie podstawowej BaseDeviceMetricCollector
może zdecydować, kiedy chcesz zbierać dane w trakcie cyklu życia:
- Kiedy uruchamia się test:
onTestRunStart
- Kiedy uruchamia się przypadek testowy:
onTestStart
- Po zakończeniu przypadku testowego:
onTestEnd
- Po zakończeniu testu:
onTestRunEnd
Wykonuj asynchroniczne zbieranie danych
Oprócz metod synchronicznych TF udostępnia klasę bazową do wdrożenia
przeprowadzający okresowe zbieranie asynchroniczne,
ScheduleDeviceMetricCollector:
z metodą collect
do wdrożenia, która zostanie uruchomiona
okresowo.
Okres można dostosować za pomocą opcji.
Konfiguracja XML
Tag obiektu będzie miał postać metrics_collector
, np.:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Rekomendacje
Najpierw przyjrzyj się istniejącej liście kolektorów. aby zapobiec powielaniu pracy. Staramy się, aby można było je ponownie wykorzystać, gdy każdy kolektor wykonuje jeden typ zbierania danych, umożliwia lepsze mieszanie i dopasowywanie różnych kolektorów podczas wykonywania testu.