Kolektory danych hosta

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.

Projekt kolektora danych

Klasa podstawowa, z której korzystają wszystkie klasy zbierające, to: BaseDeviceMetricCollector, która zapewnia te same podstawowe funkcje:

  • Filtrowanie
  • Wyłączanie
  • Zbieranie danych o przypadkach testowych a uruchomieniach 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 przypadku testEnded, zbiór danych jest wykonywany przed wykonaniem następnego testu z użyciem testStart.

Wdrożenie host-driven metrics collector

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

Przeprowadzanie asynchronicznego zbierania

Oprócz metod synchronicznych TF udostępnia klasę podstawową do implementacji, która wykonuje okresowe zbieranie asynchroniczne (ScheduledDeviceMetricCollector). Zawiera ona metodę collect, która jest implementowana i uruchamiana 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 dublujesz pracy. Staramy się zapewnić maksymalną możliwość ponownego użycia, więc każdy kolektor wykonuje jeden typ zbierania, co umożliwia większą mieszankę i dopasowanie różnych kolektorów podczas wykonywania testu.