Hostbasierte Messwerterfassungsprogramme werden auf dem Host und nicht auf dem Gerät ausgeführt. Sie interagieren mit dem Gerät von der Hostseite aus, um die gewünschten Messwerte zu erfassen.
Design des Messwert-Collectors
Die Basisklasse, von der alle Collectors abgeleitet werden, ist BaseDeviceMetricCollector
. Sie bietet die folgenden gemeinsamen grundlegenden Funktionen:
- Filtern
- Deaktivieren
- Erfassung von Testfällen im Vergleich zu Testläufen
Collectors folgen einem Result Reporter-Modell, da sie mit der Testausführung auf dem Host synchronisiert werden. Wenn Tests hostgesteuert sind, werden Collectors also ausgeführt, bevor der Test mit dem nächsten Ausführungsschritt fortfährt.
Wenn der Collector beispielsweise auf testEnded
ausgeführt wird, werden die Collectors ausgeführt, bevor die Ausführung mit dem nächsten Test mit testStart
fortgesetzt wird.
Hostgesteuerten Messwert-Collector implementieren
Wenn Sie die Implementierung auf der Basisklasse BaseDeviceMetricCollector
vornehmen, können Sie entscheiden, wann die Messwerte während des Lebenszyklus erfasst werden sollen:
- Wenn ein Testlauf beginnt:
onTestRunStart
- Wenn ein Testlauf beginnt:
onTestStart
- Wenn ein Testlauf endet:
onTestEnd
- Wenn ein Testlauf endet:
onTestRunEnd
Asynchrone Erfassung durchführen
Zusätzlich zu den synchronen Methoden bietet TF eine Basisklasse zur Implementierung, die eine regelmäßige asynchrone Erfassung durchführt, ScheduledDeviceMetricCollector
. Diese Klasse bietet eine collect
-Methode, 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 Sammler an, um sicherzugehen, dass Sie keine Arbeit doppelt erledigen. Wir versuchen, die Wiederverwendbarkeit zu maximieren. Wenn jeder Collector nur eine Art von Erfassung durchführt, können verschiedene Collectors während der Testausführung besser kombiniert werden.