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.