Kolektory danych hosta

Kolektory danych o wydajności hosta działają na hoście, a nie na urządzeniu. Wchodzą w interakcję z urządzeniem po stronie hosta, aby zbierać dane, na których im zależy.

Projekt kolektora danych

Klasa bazowa, z której wywodzą się wszystkie kolektory, to BaseDeviceMetricCollector, która zapewnia te same podstawowe funkcje:

  • Filtrowanie
  • Wyłączanie
  • Zbieranie danych dotyczących przypadków testowych a uruchomień testów

Kolektory działają zgodnie z modelem raportowania wyników, ponieważ synchronizują się z wykonaniem testu na hoście. Innymi słowy, jeśli testy są sterowane przez hosta, kolektory są wykonywane przed przejściem testu do następnego kroku wykonania.

Jeśli na przykład zbieranie danych jest wykonywane w przypadku testEnded, zbieranie danych jest wykonywane przed przejściem do następnego testu z testStart.

Wdrażanie kolektora danych sterowanego przez hosta

Podczas implementacji na podstawie klasy bazowej BaseDeviceMetricCollector możesz zdecydować, kiedy zbierać dane w trakcie cyklu życia:

  • Gdy rozpoczyna się test: onTestRunStart
  • Gdy rozpoczyna się przypadek testowy: onTestStart
  • Po zakończeniu przypadku testowego: onTestEnd
  • Po zakończeniu testu: onTestRunEnd

Przeprowadzanie asynchronicznego zbierania danych

Oprócz metod synchronicznych TF udostępnia klasę bazową do implementacji, która wykonuje okresowe zbieranie asynchroniczne, ScheduledDeviceMetricCollector, która udostępnia metodę collect do implementacji, która jest 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ź istniejącą listę kolektorów, aby nie duplikować pracy. Staramy się zapewnić maksymalną możliwość ponownego użycia, więc każdy moduł zbierający wykonuje jeden typ zbierania, co pozwala na większe mieszanie i dopasowywanie różnych modułów zbierających podczas wykonywania testu.