Recopilador de métricas controladas por host

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

Diseño de colector de métricas

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

  • Filtración
  • Deshabilitar
  • Recopilación de casos de prueba frente a ejecuciones de prueba

Los recopiladores siguen un modelo de informador de resultados, ya que se sincronizan con la ejecución de la prueba en el host. En otras palabras, si las pruebas están dirigidas por host, los recopiladores se ejecutarán antes de que la prueba avance al siguiente paso de ejecución.

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

Implementar un recopilador de métricas controlado por host

Al implementar sobre la clase base BaseDeviceMetricCollector , puede decidir cuándo le gustaría recopilar sus métricas durante el ciclo de vida:

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

Cómo hacer una colección asíncrona

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

El período es personalizable por opciones.

Configuración XML

La etiqueta del objeto será metrics_collector , por ejemplo:

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

Recomendaciones

Primero eche un vistazo a la lista existente de recopiladores para asegurarse de que no está duplicando el trabajo. Intentamos garantizar la máxima reutilización, por lo que hacer que cada colector realice un solo tipo de recolección permite una mayor combinación y combinación de diferentes colectores durante la ejecución de la prueba.