Raccoglitori di metriche basati sull'host

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.