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 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 collezionisti seguono un modello di report sui 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 vengono eseguiti
prima che l'esecuzione proceda al test successivo con testStart
.
Implementa 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 del test:
onTestRunStart
- Quando inizia uno scenario di test:
onTestStart
- Al termine di un test case:
onTestEnd
- Al termine di un'esecuzione del test:
onTestRunEnd
Esegui la raccolta asincrona
Oltre ai metodi sincroni, TF fornisce una classe di base da implementare
che esegue la raccolta asincrona periodica,
ScheduledDeviceMetricCollector
,
che fornisce un metodo collect
da implementare che viene eseguito
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.