Raccoglitore di metriche basate su host

I collezionisti di metriche basati sull'host vengono eseguiti sull'host e non sul dispositivo. interagiscono con il dispositivo lato host per raccogliere le metriche che hanno scelto come target.

Progettazione del raccoglitore delle metriche

La classe di base che verrà estesa da tutti i collezionisti è BaseDeviceMetricCollector, che contribuisce a fornire le stesse funzionalità di base condivise:

  • Filtri
  • Disabilitazione in corso...
  • Raccolta su scenari di test e esecuzioni di test

I raccoglitori seguono un reporter dei risultati poiché si sincronizzano con l'esecuzione del test sull'host. In altre parole, se i test sono basati sull'host, i raccoglitori verranno eseguiti prima passa alla fase di esecuzione successiva.

Ad esempio, se il raccoglitore viene eseguito su testEnded, prima dell'esecuzione passa al test successivo con testStart che verrà eseguito dal raccoglitore/i.

Implementazione di un raccoglitore di metriche basato su host

Quando implementi la classe di base BaseDeviceMetricCollector, può decidere quando raccogliere le metriche durante il ciclo di vita:

  • Quando inizia un'esecuzione di test: onTestRunStart
  • Quando viene avviato uno scenario di test: onTestStart
  • Quando termina uno scenario di test: onTestEnd
  • Al termine dell'esecuzione di un test: onTestRunEnd

Esegui raccolta asincrona

Oltre ai metodi sincroni, TF fornisce una classe base per implementare che esegue periodicamente una raccolta asincrona, ScheduleDeviceMetricCollector, che fornisce un metodo collect da implementare che verrà eseguito periodicamente.

Il periodo è personalizzabile in base alle opzioni.

Configurazione XML

Il tag dell'oggetto sarà metrics_collector, ad esempio:

<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
    <option name="categories" value="freq"/>
</metrics_collector>

Consigli

Innanzitutto, dai un'occhiata all'elenco esistente di collezionisti per assicurarti di non duplicare il lavoro. Cerchiamo di garantire la massima riusabilità, fare in modo che ogni raccoglitore esegua un solo tipo di raccolta consente una maggiore miscelazione e la corrispondenza dei diversi collettori durante l'esecuzione del test.