Collecteurs de métriques gérés par l'hôte

Les collecteurs de métriques géré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 é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 géré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, il s'exécute avant que l'exécution ne passe au test suivant avec testStart.

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

Lors de l'implémentation en plus de la classe de base BaseDeviceMetricCollector, vous pouvez décider quand collecter vos métriques pendant le cycle de vie:

  • Au début d'une exécution de test: onTestRunStart
  • Au début d'un scénario de test: onTestStart
  • À la fin d'un cas 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 à implémenter qui effectue une collecte asynchrone périodique, ScheduledDeviceMetricCollector, qui fournit une méthode collect à implémenter qui s'exécute périodiquement.

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

Configuration XML

La balise de l'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 existante des collecteurs pour vous assurer de ne pas dupliquer le travail. Nous essayons de garantir une réutilisabilité maximale. Ainsi, lorsque chaque collecteur exécute un seul type de collection, il est possible de combiner et de mettre en correspondance différents collecteurs lors de l'exécution du test.