Zbieracze danych sterowane przez hosta działają po stronie hosta, a nie urządzenia. Interakcje z urządzeniem odbywają się po stronie hosta, aby zbierać dane, na które jest nastawiony.
Projektowanie zbieracza danych
Klasa bazowa rozszerzona przez wszystkie kolektory to BaseDeviceMetricCollector
, która ułatwia udostępnianie tych samych podstawowych funkcji:
- Filtrowanie
- Wyłączanie
- 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. Innymi słowy, jeśli testy są host-driven, zbieracze są wykonywane przed przejściem do następnego kroku wykonania.
Jeśli na przykład zbiór danych jest wykonywany w miejscu testEnded
, zbiór danych jest wykonywany przed wykonaniem następnego testu w miejscu testStart
.
Wdrożenie host-driven collectora danych
Podczas wdrażania na podstawie klasy podstawowej BaseDeviceMetricCollector
możesz określić, kiedy zbierać dane w trakcie cyklu życia:
- Gdy rozpoczyna się test:
onTestRunStart
- Gdy rozpoczyna się test:
onTestStart
- Po zakończeniu testu:
onTestEnd
- Po zakończeniu testu:
onTestRunEnd
Wykonuj asynchroniczne zbieranie danych
Oprócz metod synchronicznych TF udostępnia też klasę bazową do wdrożenia, która przeprowadza okresowe zbieranie asynchroniczne ScheduledDeviceMetricCollector
, która udostępnia metodę collect
uruchamianą okresowo.
Okres można dostosować za pomocą opcji.
Konfiguracja XML
Tag obiektu to metrics_collector
, na przykład:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Rekomendacje
Sprawdź listę istniejących kolekcji, aby upewnić się, że nie duplikujesz pracy. Staramy się zapewnić maksymalną możliwość ponownego użycia, dlatego każdy kolektor wykonuje jeden typ zbierania, co umożliwia większą mieszankę i dopasowanie różnych kolektorów podczas wykonywania testu.