Kolektory danych hosta

Kolektory danych opartych na hosta działają na hoście, a nie po stronie urządzenia. Interakcje z urządzeniem odbywają się po stronie hosta, aby zbierać dane, na które jest nastawiony.

Projekt kolektora danych

Klasa bazowa, którą rozszerzają wszystkie kolektory, to BaseDeviceMetricCollector co pomaga udostępniać te same podstawowe funkcje:

  • Filtrowanie
  • Wyłączam
  • Zbieranie danych o przypadkach testowych a uruchomieniach testów

kolektory postępują zgodnie z narzędziem raportującym wyniki, ponieważ są one synchronizowane z wykonaniem 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órka danych jest wykonywana w funkcji testEnded, zbiórki danych są wykonywane przed wykonaniem następnego testu w funkcji testStart.

Wdrożenie host-driven collectora danych

Podczas implementowania na klasie podstawowej BaseDeviceMetricCollector mogą zdecydować, kiedy zbierać dane w trakcie cyklu życia:

  • Gdy rozpoczyna się test: onTestRunStart
  • Kiedy uruchamia się przypadek testowy: onTestStart
  • Po zakończeniu przypadku testowego: 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

Zobacz istniejącą listę kolektorów. aby zapobiec powielaniu 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.