I collezionisti di metriche basati sull'host vengono eseguiti sull'host e non sul dispositivo. Loro interagiscono con il dispositivo dal lato host per raccogliere le metriche targeting.
Progettazione del raccoglitore di metriche
La classe di base estesa da tutti i collezionisti è
BaseDeviceMetricCollector
,
che consente di fornire le stesse funzionalità di base condivise:
- Filtri
- Disabilitazione
- Raccolta di scenari di test rispetto a esecuzioni di test
I raccoglitori seguono un reporter dei risultati perché si sincronizzano con l'esecuzione del test sull'host. In altre parole, se i test sono basati sull'host, i collezionisti vengono eseguiti prima che il test passi al passaggio di esecuzione successivo.
Ad esempio, se il raccoglitore viene eseguito su testEnded
, i raccoglitori eseguono
prima che l'esecuzione passi al test successivo con testStart
.
Implementare un raccoglitore di metriche basato sull'host
Quando esegui l'implementazione sulla base della classe di base BaseDeviceMetricCollector
, puoi decidere quando raccogliere le metriche durante il ciclo di vita:
- Quando inizia un'esecuzione di test:
onTestRunStart
- Quando inizia un caso di test:
onTestStart
- Al termine di un caso di test:
onTestEnd
- Al termine di un'esecuzione di test:
onTestRunEnd
Esegui raccolta asincrona
Oltre ai metodi sincroni, TF fornisce una classe base per implementare
che esegue periodicamente una raccolta asincrona,
ScheduledDeviceMetricCollector
,
che fornisce un metodo collect
da implementare che esegue
periodicamente.
Il periodo è personalizzabile in base alle opzioni.
Configurazione XML
Il tag dell'oggetto è metrics_collector
, ad esempio:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Consigli
Consulta l'elenco esistente di collezionisti per assicurarti di non duplicare il lavoro. Cerchiamo di garantire la massima riutilizzabilità, quindi l'esecuzione di un singolo tipo di raccolta da parte di ciascun raccoglitore consente una maggiore combinazione e corrispondenza di diversi raccoglitori durante l'esecuzione del test.