Coletores de métricas orientados a host

Os coletores de métricas orientados por host são executados no host, e não no dispositivo. Eles interajam com o dispositivo do lado do host para coletar as métricas que estão alvejando.

Design do coletor de métricas

A classe base que todos os coletores estendem é BaseDeviceMetricCollector, que ajuda a fornecer as mesmas funcionalidades básicas compartilhadas:

  • Filtragem
  • Desativando
  • Coleta em casos de teste versus execuções de teste

Os coletores seguem um gerador de relatórios de resultados porque eles sincronizam com a execução do teste no host. Em outras palavras, se os testes forem orientados pelo host, os coletores serão executados antes que o teste prossiga para a próxima etapa de execução.

Por exemplo, se o coletor for executado em testEnded, os coletores serão executados antes da execução prosseguir para o próximo teste com testStart.

Implementar um coletor de métricas orientado a host

Ao implementar com base na classe base BaseDeviceMetricCollector, você pode decidir quando coletar as métricas durante o ciclo de vida:

  • Quando uma execução de teste começa: onTestRunStart
  • Quando um caso de teste começa: onTestStart
  • Quando um caso de teste termina: onTestEnd
  • Quando uma execução de teste termina: onTestRunEnd

Executar a coleta assíncrona

Além dos métodos síncronos, o TF fornece uma classe de base para implementar que realiza coletas assíncronas periódicas, ScheduledDeviceMetricCollector, que fornece um método collect a ser implementado que executa periodicamente.

O período pode ser personalizado de acordo com as opções.

Configuração de XML

A tag do objeto é metrics_collector, por exemplo:

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

Recomendações

Consulte a lista de coletores para garantir que você não está duplicando o trabalho. Tentamos garantir a máxima reutilização, para que fazer com que cada coletor realize um único tipo de coleção permite uma maior combinação e a correspondência de diferentes coletores durante a execução do teste.