Raccoglitori di metriche basati sull'host

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.