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 a cui si rivolgono.
Progettazione del raccoglitore di metriche
La classe base estesa da tutti i raccoglitori è
BaseDeviceMetricCollector,
che contribuisce a fornire le stesse funzionalità di base condivise:
- Applicazione dei filtri
- In fase di disabilitazione
- 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 l'agente di raccolta viene eseguito il giorno testEnded, gli agenti di raccolta vengono eseguiti prima che l'esecuzione proceda al test successivo con testStart.
Implementare un raccoglitore di metriche basato sull'host
Quando implementi la classe base BaseDeviceMetricCollector, puoi decidere quando raccogliere le metriche durante il ciclo di vita:
- Quando inizia un'esecuzione di test:
onTestRunStart - Quando inizia uno scenario di test:
onTestStart - Al termine di uno scenario di test:
onTestEnd - Al termine di un'esecuzione del 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 agente di raccolta esegue un solo tipo di raccolta, è possibile combinare e abbinare più facilmente agenti di raccolta diversi durante l'esecuzione del test.