I raccoglitori di metriche guidate dall'host vengono eseguiti sull'host e non sul lato del dispositivo. Interagiscono con il dispositivo dal lato host per raccogliere le metriche a cui si rivolgono.
Progettazione del raccoglitore di metriche
La classe base che tutti i raccoglitori estenderanno è BaseDeviceMetricCollector , che aiuta a fornire le stesse funzionalità di base condivise:
- Filtraggio
- Disabilitazione
- Raccolta sui casi di test rispetto alle esecuzioni di test
I raccoglitori seguono un modello di reporter dei risultati poiché si sincronizzano con l'esecuzione del test sull'host. In altre parole, se i test sono guidati dall'host, i raccoglitori verranno eseguiti prima che il test proceda alla fase di esecuzione successiva.
Ad esempio, se il raccoglitore viene eseguito su testEnded
, prima che l'esecuzione proceda al test successivo con testStart
, i raccoglitori verranno eseguiti.
Implementare un raccoglitore di parametri basato sull'host
Quando esegui l'implementazione sulla classe base BaseDeviceMetricCollector
puoi decidere quando desideri raccogliere i tuoi parametri durante il ciclo di vita:
- Quando inizia un'esecuzione di test:
onTestRunStart
- Quando inizia un test case:
onTestStart
- Quando un test case termina:
onTestEnd
- Al termine dell'esecuzione 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 verrà eseguito periodicamente.
Il periodo è personalizzabile tramite opzioni.
Configurazione XML
Il tag oggetto sarà metrics_collector
, ad esempio:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Raccomandazioni
Per prima cosa dai un'occhiata all'elenco esistente dei collezionisti per assicurarti di non duplicare il lavoro. Cerchiamo di garantire la massima riutilizzabilità, quindi fare in modo che ogni raccoglitore esegua un singolo tipo di raccolta consente una maggiore combinazione e abbinamento di diversi raccoglitori durante l'esecuzione del test.
,I raccoglitori di metriche guidate dall'host vengono eseguiti sull'host e non sul lato del dispositivo. Interagiscono con il dispositivo dal lato host per raccogliere le metriche a cui si rivolgono.
Progettazione del raccoglitore di metriche
La classe base che tutti i raccoglitori estenderanno è BaseDeviceMetricCollector , che aiuta a fornire le stesse funzionalità di base condivise:
- Filtraggio
- Disabilitazione
- Raccolta sui casi di test rispetto alle esecuzioni di test
I raccoglitori seguono un modello di reporter dei risultati poiché si sincronizzano con l'esecuzione del test sull'host. In altre parole, se i test sono guidati dall'host, i raccoglitori verranno eseguiti prima che il test proceda alla fase di esecuzione successiva.
Ad esempio, se il raccoglitore viene eseguito su testEnded
, prima che l'esecuzione proceda al test successivo con testStart
, i raccoglitori verranno eseguiti.
Implementare un raccoglitore di parametri basato sull'host
Quando esegui l'implementazione sulla classe base BaseDeviceMetricCollector
puoi decidere quando desideri raccogliere i tuoi parametri durante il ciclo di vita:
- Quando inizia un'esecuzione di test:
onTestRunStart
- Quando inizia un test case:
onTestStart
- Quando un test case termina:
onTestEnd
- Al termine dell'esecuzione 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 verrà eseguito periodicamente.
Il periodo è personalizzabile tramite opzioni.
Configurazione XML
Il tag oggetto sarà metrics_collector
, ad esempio:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Raccomandazioni
Per prima cosa dai un'occhiata all'elenco esistente dei collezionisti per assicurarti di non duplicare il lavoro. Cerchiamo di garantire la massima riutilizzabilità, quindi fare in modo che ogni raccoglitore esegua un singolo tipo di raccolta consente una maggiore combinazione e abbinamento di diversi raccoglitori durante l'esecuzione del test.