Hostgesteuerte Metriksammler werden auf dem Host und nicht auf der Geräteseite ausgeführt. Sie interagieren von der Hostseite aus mit dem Gerät, um die Metriken zu erfassen, auf die sie abzielen.
Design des Metriksammlers
Die Basisklasse, die alle Kollektoren erweitern, ist BaseDeviceMetricCollector , die dabei hilft, die gleichen gemeinsamen Grundfunktionen bereitzustellen:
- Filtern
- Deaktivieren
- Sammlung zu Testfällen vs. Testläufen
Collectors folgen einem Ergebnis-Reporter- Modell, da sie sich mit der Testausführung auf dem Host synchronisieren. Mit anderen Worten: Wenn Tests hostgesteuert sind, werden Collectors ausgeführt, bevor der Test mit dem nächsten Ausführungsschritt fortfährt.
Wenn der Collector beispielsweise bei testEnded
ausgeführt wird, werden die Collector(s) ausgeführt, bevor die Ausführung mit testStart
zum nächsten Test übergeht.
Implementieren Sie einen hostgesteuerten Metriksammler
Bei der Implementierung zusätzlich zur Basisklasse BaseDeviceMetricCollector
können Sie entscheiden, wann Sie Ihre Metriken während des Lebenszyklus erfassen möchten:
- Wenn ein Testlauf startet:
onTestRunStart
- Wenn ein Testfall beginnt:
onTestStart
- Wenn ein Testfall endet:
onTestEnd
- Wenn ein Testlauf endet:
onTestRunEnd
Führen Sie eine asynchrone Sammlung durch
Zusätzlich zu den synchronen Methoden stellt TF eine zu implementierende Basisklasse bereit, die eine regelmäßige asynchrone Erfassung durchführt, ScheduledDeviceMetricCollector , die eine zu implementierende collect
bereitstellt, die regelmäßig ausgeführt wird.
Der Zeitraum ist durch Optionen anpassbar.
XML-Konfiguration
Das Objekt-Tag lautet metrics_collector
, zum Beispiel:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Empfehlungen
Schauen Sie sich zunächst die vorhandene Liste der Sammler an, um sicherzustellen, dass Sie keine Doppelarbeit leisten. Wir versuchen, maximale Wiederverwendbarkeit zu gewährleisten. Wenn also jeder Kollektor einen einzigen Sammlungstyp durchführt, können verschiedene Kollektoren während der Testausführung besser gemischt und angepasst werden.
,Hostgesteuerte Metriksammler werden auf dem Host und nicht auf der Geräteseite ausgeführt. Sie interagieren von der Hostseite aus mit dem Gerät, um die Metriken zu erfassen, auf die sie abzielen.
Design des Metriksammlers
Die Basisklasse, die alle Kollektoren erweitern, ist BaseDeviceMetricCollector , die dabei hilft, die gleichen gemeinsamen Grundfunktionen bereitzustellen:
- Filtern
- Deaktivieren
- Sammlung zu Testfällen vs. Testläufen
Collectors folgen einem Ergebnis-Reporter- Modell, da sie sich mit der Testausführung auf dem Host synchronisieren. Mit anderen Worten: Wenn Tests hostgesteuert sind, werden Collectors ausgeführt, bevor der Test mit dem nächsten Ausführungsschritt fortfährt.
Wenn der Collector beispielsweise bei testEnded
ausgeführt wird, werden die Collector(s) ausgeführt, bevor die Ausführung mit testStart
zum nächsten Test übergeht.
Implementieren Sie einen hostgesteuerten Metriksammler
Bei der Implementierung zusätzlich zur Basisklasse BaseDeviceMetricCollector
können Sie entscheiden, wann Sie Ihre Metriken während des Lebenszyklus erfassen möchten:
- Wenn ein Testlauf startet:
onTestRunStart
- Wenn ein Testfall beginnt:
onTestStart
- Wenn ein Testfall endet:
onTestEnd
- Wenn ein Testlauf endet:
onTestRunEnd
Führen Sie eine asynchrone Sammlung durch
Zusätzlich zu den synchronen Methoden stellt TF eine zu implementierende Basisklasse bereit, die eine regelmäßige asynchrone Erfassung durchführt, ScheduledDeviceMetricCollector , die eine zu implementierende collect
bereitstellt, die regelmäßig ausgeführt wird.
Der Zeitraum ist durch Optionen anpassbar.
XML-Konfiguration
Das Objekt-Tag lautet metrics_collector
, zum Beispiel:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Empfehlungen
Schauen Sie sich zunächst die vorhandene Liste der Sammler an, um sicherzustellen, dass Sie keine Doppelarbeit leisten. Wir versuchen, maximale Wiederverwendbarkeit zu gewährleisten. Wenn also jeder Kollektor einen einzigen Sammlungstyp durchführt, können verschiedene Kollektoren während der Testausführung besser gemischt und angepasst werden.