Colectores de métricas impulsados por el host

Los recopiladores de métricas controlados por el host se ejecutan en el host y no en el dispositivo. Interactúan con el dispositivo desde el host para recopilar las métricas a las que se dirigen.

Diseño del recopilador de métricas

La clase base que extienden todos los recopiladores es BaseDeviceMetricCollector, que ayuda a proporcionar las mismas funcionalidades básicas compartidas:

  • Filtros
  • Inhabilitando
  • Recopilación de datos sobre casos de prueba y ejecuciones de pruebas

Los recopiladores siguen un modelo de informador de resultados porque se sincronizan con la ejecución de la prueba en el host. En otras palabras, si las pruebas se basan en el host, los recopiladores se ejecutan antes de que la prueba avance al siguiente paso de ejecución.

Por ejemplo, si el recopilador se ejecuta en testEnded, los recopiladores se ejecutan antes de que la ejecución continúe con la siguiente prueba con testStart.

Implementa un recopilador de métricas controlado por el host

Cuando implementas sobre la clase base BaseDeviceMetricCollector, puedes decidir cuándo recopilar tus métricas durante el ciclo de vida:

  • Cuando comienza una prueba de ejecución: onTestRunStart
  • Cuando comienza un caso de prueba: onTestStart
  • Cuando finaliza un caso de prueba: onTestEnd
  • Cuando finaliza una ejecución de prueba: onTestRunEnd

Realiza la recopilación asíncrona

Además de los métodos síncronos, TF proporciona una clase base para implementar que realiza la recopilación asíncrona periódica, ScheduledDeviceMetricCollector, que proporciona un método collect para implementar que se ejecuta periódicamente.

El período se puede personalizar con opciones.

Configuración de XML

La etiqueta del objeto es metrics_collector, por ejemplo:

<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
    <option name="categories" value="freq"/>
</metrics_collector>

Recomendaciones

Consulta la lista existente de recopiladores para asegurarte de no duplicar el trabajo. Intentamos garantizar la máxima reutilización, por lo que tener cada recopilador realizando un solo tipo de recopilación permite una mayor combinación y coincidencia de diferentes recopiladores durante la ejecución de la prueba.