Collecteurs de métriques basés sur l'hôte

Les collecteurs de métriques pilotés par l'hôte s'exécutent sur l'hôte et non côté 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 étendent 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 modèle de rapporteur de résultats, car ils se synchronisent avec l'exécution du test sur l'hôte. En d'autres termes, si les tests sont pilotés par l'hôte, les collecteurs sont exécutés avant que le test ne passe à l'étape d'exécution suivante.

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

Implémenter un collecteur de métriques piloté par l'hôte

Lorsque vous implémentez la classe de base BaseDeviceMetricCollector, vous pouvez décider quand collecter vos métriques au cours du cycle de vie :

  • Lorsqu'une série de tests commence : onTestRunStart
  • Lorsqu'un scénario de test commence : onTestStart
  • À la fin d'un cas de test : onTestEnd
  • À la fin d'une série de tests : onTestRunEnd

Effectuer une collecte asynchrone

En plus des méthodes synchrones, TF fournit une classe de base à implémenter qui effectue une collecte asynchrone périodique, ScheduledDeviceMetricCollector, qui fournit une méthode collect à implémenter et qui s'exécute périodiquement.

La période est personnalisable par options.

Configuration XML

La balise d'objet est metrics_collector, par exemple :

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

Recommandations

Consultez la liste des collecteurs existants pour vous assurer de ne pas faire double emploi. Nous essayons de garantir une réutilisabilité maximale. Par conséquent, le fait que chaque collecteur effectue un seul type de collecte permet de combiner et d'associer différents collecteurs lors de l'exécution des tests.