Hostbasierte Messwert-Collectors

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.