Collecteur de métriques piloté par 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 du 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 :

  • Filtration
  • Désactivation
  • Collection sur les cas de test par rapport aux exécutions de tests

Les collecteurs suivent un modèle de rapporteur de résultats puisqu'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 seront 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 , avant que l'exécution ne passe au test suivant avec testStart , le ou les collecteurs s'exécuteront.

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

Lors de l'implémentation au-dessus de la classe de base BaseDeviceMetricCollector , vous pouvez décider du moment où vous souhaitez collecter vos métriques au cours du cycle de vie :

  • Lorsqu'une exécution de test démarre : onTestRunStart
  • Lorsqu'un scénario de test démarre : onTestStart
  • Lorsqu'un scénario de test se termine : onTestEnd
  • Lorsqu'une exécution de test se termine : 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 qui sera exécutée périodiquement.

La période est personnalisable par options.

Configuration XML

La balise d'objet sera metrics_collector , par exemple :

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

Recommandations

Jetez d’abord un œil à la liste existante des collectionneurs pour vous assurer que vous ne dupliquez pas le travail. Nous essayons de garantir une réutilisabilité maximale, de sorte que le fait que chaque collecteur effectue un seul type de collecte permet davantage de mélange et d'appariement des différents collecteurs pendant l'exécution des tests.

,

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 du 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 :

  • Filtration
  • Désactivation
  • Collection sur les cas de test par rapport aux exécutions de tests

Les collecteurs suivent un modèle de rapporteur de résultats puisqu'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 seront 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 , avant que l'exécution ne passe au test suivant avec testStart , le ou les collecteurs s'exécuteront.

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

Lors de l'implémentation au-dessus de la classe de base BaseDeviceMetricCollector , vous pouvez décider du moment où vous souhaitez collecter vos métriques au cours du cycle de vie :

  • Lorsqu'une exécution de test démarre : onTestRunStart
  • Lorsqu'un scénario de test démarre : onTestStart
  • Lorsqu'un scénario de test se termine : onTestEnd
  • Lorsqu'une exécution de test se termine : 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 qui sera exécutée périodiquement.

La période est personnalisable par options.

Configuration XML

La balise d'objet sera metrics_collector , par exemple :

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

Recommandations

Jetez d’abord un œil à la liste existante des collectionneurs pour vous assurer que vous ne dupliquez pas le travail. Nous essayons de garantir une réutilisabilité maximale, de sorte que le fait que chaque collecteur effectue un seul type de collecte permet davantage de mélange et d'appariement des différents collecteurs pendant l'exécution des tests.