Los recopiladores de métricas impulsados por el host se ejecutan en el host y no en el dispositivo. Interaccionan con el dispositivo desde el host para recopilar las métricas a las que se segmentan.
Diseño del recopilador de métricas
La clase base que extienden todos los recopiladores es BaseDeviceMetricCollector
, que ayuda a proporcionar las mismas funciones básicas compartidas:
- Filtros
- Inhabilitando
- Recopilación de casos de prueba en comparación con ejecuciones de prueba
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 están dirigidas por el host, los recopiladores se ejecutan antes de que la prueba continúe con el 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 dirigido 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 ejecución de prueba:
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
que se implementará y se ejecutará de forma periódica.
El período se puede personalizar según las 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 los recopiladores para asegurarte de no duplicar el trabajo. Intentamos garantizar la máxima reutilización, por lo que que cada recopilador realice un solo tipo de recopilación permite más mezclar y hacer coincidir diferentes recopiladores durante la ejecución de la prueba.