Hostgesteuerte Messwert-Collector werden auf dem Host und nicht auf dem Gerät ausgeführt. Sie interagieren vom Host aus mit dem Gerät, um die gewünschten Messwerte zu erfassen.
Design des Messwert-Collectors
Die Basisklasse, von der alle Collector abgeleitet werden, ist
BaseDeviceMetricCollector,
Sie bietet die gleichen gemeinsamen grundlegenden Funktionen:
- Wird gefiltert
- Wird deaktiviert
- Erfassung bei Testfällen im Vergleich zu Testläufen
Collector folgen einem Ergebnisreporter modell, da sie mit der Testausführung auf dem Host synchronisiert werden. Wenn Tests hostgesteuert sind, werden Collector also ausgeführt, bevor der Test mit dem nächsten Ausführungsschritt fortgesetzt wird.
Wenn der Collector beispielsweise für testEnded ausgeführt wird, werden die Collector ausgeführt, bevor die Ausführung mit testStart zum nächsten Test übergeht.
Hostgesteuerten Messwert-Collector implementieren
Wenn Sie auf der Basisklasse BaseDeviceMetricCollector implementieren, können Sie entscheiden, wann die Messwerte während des Lebenszyklus erfasst werden sollen:
- Wenn ein Testlauf beginnt:
onTestRunStart - Wenn ein Testfall beginnt:
onTestStart - Wenn ein Testfall endet:
onTestEnd - Wenn ein Testlauf endet:
onTestRunEnd
Asynchrone Erfassung durchführen
Neben den synchronen Methoden bietet TF eine Basisklasse zur Implementierung
der periodischen asynchronen Erfassung, ScheduledDeviceMetricCollector,
die eine zu implementierende collect Methode enthält, die
regelmäßig ausgeführt wird.
Der Zeitraum kann über Optionen angepasst werden.
XML-Konfiguration
Das Objekt-Tag ist metrics_collector, z. B.:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Empfehlungen
Sehen Sie sich die vorhandene Liste der Collector an, um Doppelarbeit zu vermeiden. Wir versuchen, die Wiederverwendbarkeit zu maximieren. Wenn jeder Collector nur eine Art von Erfassung durchführt, können verschiedene Collector während der Testausführung besser kombiniert werden.