I raccoglitori di metriche basati sull'host vengono eseguiti sull'host e non sul dispositivo. Interagiscono con il dispositivo dal lato host per raccogliere le metriche che prendono di mira.
Progettazione del raccoglitore di metriche
La classe base estesa da tutti i raccoglitori è
BaseDeviceMetricCollector
,
che contribuisce a fornire le stesse funzionalità di base condivise:
- Filtri
- Disabilitazione in corso
- Raccolta di scenari di test e esecuzioni di test
I raccoglitori seguono un modello di reporter dei risultati perché si sincronizzano con l'esecuzione del test sull'host. In altre parole, se i test sono basati sull'host, i raccoglitori vengono eseguiti prima che il test proceda al passaggio di esecuzione successivo.
Ad esempio, se il raccoglitore viene eseguito il giorno 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 sopra la classe base BaseDeviceMetricCollector
, puoi decidere quando raccogliere le metriche durante il ciclo di vita:
- Quando inizia un'esecuzione del test:
onTestRunStart
- All'inizio di uno scenario di test:
onTestStart
- Al termine di uno scenario di test:
onTestEnd
- Al termine di un test:
onTestRunEnd
Eseguire la raccolta asincrona
Oltre ai metodi sincroni, TF fornisce una classe 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 raccoglitori per assicurarti di non duplicare il lavoro. Cerchiamo di garantire la massima riusabilità, quindi se ogni raccoglitore esegue un solo tipo di raccolta, è possibile combinare e abbinare diversi raccoglitori durante l'esecuzione del test.