Kolektory danych sterowane przez 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.

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.