Collecteur de métriques basées sur l'hôte

Les collecteurs de métriques pilotés par l'hôte s'exécutent sur l'hôte et non sur l'appareil. Ils interagissent avec l'appareil côté hôte pour collecter les métriques qu'ils ciblent.

Conception du collecteur de métriques

La classe de base que tous les collecteurs étendront est BaseDeviceMetricCollector, qui permet de fournir les mêmes fonctionnalités de base partagées :

  • Filtrage
  • Désactivation...
  • Collecte sur les scénarios de test par rapport aux exécutions de test

Les collecteurs suivent un rapporteur de résultats car ils se synchronisent avec l'exécution du test sur l'hôte. Dans d'autres Si les tests sont pilotés par l'hôte, les collecteurs sont exécutés avant le test passe à l'étape d'exécution suivante.

Par exemple, si le collecteur s'exécute sur testEnded, avant l'exécution passe au test suivant avec testStart que le ou les collecteurs exécuteront.

Implémenter un collecteur de métriques basé sur l'hôte

Lors de l'implémentation en plus de la classe de base BaseDeviceMetricCollector, vous peut décider à quel moment vous souhaitez collecter vos métriques au cours du cycle de vie:

  • Lorsqu'un test démarre: onTestRunStart
  • Au démarrage d'un scénario de test: onTestStart
  • À la fin d'un scénario de test: onTestEnd
  • À la fin d'un test: onTestRunEnd

Effectuer une collecte asynchrone

En plus des méthodes synchrones, TF fournit une classe de base pour implémenter qui effectue une collecte asynchrone périodique ScheduledDeviceMetricCollector qui fournit une méthode collect à implémenter et qui sera exécutée régulièrement.

La période peut être personnalisée à l'aide des options.

Configuration XML

Le tag d'objet sera metrics_collector, par exemple:

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

Recommandations

Commencez par consulter la liste existante de collecteurs. pour vous assurer de ne pas dupliquer le travail. Nous essayons de garantir une réutilisation maximale. Par conséquent, chaque collecteur effectuant un seul type de collecte permet de mélanger et de faire correspondre davantage de collecteurs lors de l'exécution des tests.