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 estesa da tutti i collezionisti è
BaseDeviceMetricCollector
,
che consente di fornire le stesse funzionalità di base condivise:
- Filtri
- Disabilitazione in corso...
- Raccolta di scenari di test rispetto a esecuzioni di test
I raccoglitori seguono un modello 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
, questi vengono eseguiti prima che 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 viene avviato uno scenario di test:
onTestStart
- Quando termina uno scenario di test:
onTestEnd
- Al termine dell'esecuzione di un 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 consentire a ogni raccoglitore di eseguire un solo tipo di raccolta consente una maggiore combinazione di collettori diversi durante l'esecuzione del test.