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.