Coletor de métricas baseado em host

Os coletores de métricas controlados por host são executados no host e não no dispositivo. Eles interagem com o dispositivo do lado do host para coletar as métricas que estão almejando.

Projeto do coletor de métricas

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

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

Os coletores seguem um modelo de relator de resultados , pois sincronizam com a execução do teste no host. Em outras palavras, se os testes forem controlados 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 , antes da execução prosseguir para o próximo teste com testStart , o(s) coletor(es) serão executados.

Implementar um coletor de métricas baseado em host

Ao implementar sobre a classe base BaseDeviceMetricCollector você pode decidir quando deseja coletar suas métricas durante o ciclo de vida:

  • Quando uma execução de teste é iniciada: onTestRunStart
  • Quando um caso de teste é iniciado: onTestStart
  • Quando um caso de teste termina: onTestEnd
  • Quando uma execução de teste termina: onTestRunEnd

Executar coleta assíncrona

Além dos métodos síncronos, o TF fornece uma classe base para implementação que realiza coleta assíncrona periódica, ScheduledDeviceMetricCollector , que fornece um método collect a ser implementado que será executado periodicamente.

O período é personalizável por opções.

Configuração XML

A tag do objeto será metrics_collector , por exemplo:

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

Recomendações

Primeiro, dê uma olhada na lista existente de coletores para garantir que você não está duplicando o trabalho. Tentamos garantir a máxima reutilização, portanto, fazer com que cada coletor execute um único tipo de coleta permite mais mistura e combinação de diferentes coletores durante a execução do teste.

,

Os coletores de métricas controlados por host são executados no host e não no dispositivo. Eles interagem com o dispositivo do lado do host para coletar as métricas que estão almejando.

Projeto do coletor de métricas

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

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

Os coletores seguem um modelo de relator de resultados , pois sincronizam com a execução do teste no host. Em outras palavras, se os testes forem controlados 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 , antes da execução prosseguir para o próximo teste com testStart , o(s) coletor(es) serão executados.

Implementar um coletor de métricas baseado em host

Ao implementar sobre a classe base BaseDeviceMetricCollector você pode decidir quando deseja coletar suas métricas durante o ciclo de vida:

  • Quando uma execução de teste é iniciada: onTestRunStart
  • Quando um caso de teste é iniciado: onTestStart
  • Quando um caso de teste termina: onTestEnd
  • Quando uma execução de teste termina: onTestRunEnd

Executar coleta assíncrona

Além dos métodos síncronos, o TF fornece uma classe base para implementação que realiza coleta assíncrona periódica, ScheduledDeviceMetricCollector , que fornece um método collect a ser implementado que será executado periodicamente.

O período é personalizável por opções.

Configuração XML

A tag do objeto será metrics_collector , por exemplo:

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

Recomendações

Primeiro, dê uma olhada na lista existente de coletores para garantir que você não está duplicando o trabalho. Tentamos garantir a máxima reutilização, portanto, fazer com que cada coletor execute um único tipo de coleta permite mais mistura e combinação de diferentes coletores durante a execução do teste.