主機導向指標收集器會在主機上執行,而非在裝置端執行。這些指標會從主機端與裝置互動,收集指定的指標。
指標收集器設計
所有收集器擴充的基礎類別是 BaseDeviceMetricCollector
,可提供相同的共用基本功能:
- 篩選
- 停用中
- 收集測試案例與測試執行結果
收集器會遵循結果回報器模式,因為它會與主機上的測試執行作業同步。換句話說,如果測試由主機驅動,收集器會在測試進入下一個執行步驟前執行。
舉例來說,如果收集器在 testEnded
上執行,收集器會在執行 testStart
進行下一個測試之前執行。
實作主機導向指標收集器
在基礎類別 BaseDeviceMetricCollector
之上實作時
即可決定在生命週期中收集指標的時機:
- 測試執行作業開始時:
onTestRunStart
- 測試案例啟動時:
onTestStart
- 測試案例結束時:
onTestEnd
- 測試結束時:
onTestRunEnd
執行非同步收集作業
除了同步方法外,TF 還提供用於實作的基礎類別
且會定期執行非同步收集作業
ScheduledDeviceMetricCollector
、
可提供 collect
方法,以便實作
定期更新。
您可以透過選項自訂週期。
XML 設定
物件代碼為 metrics_collector
,例如:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
建議
查看現有的收集器清單 避免重複作業我們會盡量確保可重複使用性,因此讓每個收集器執行單一類型的收集作業,可在測試執行期間更頻繁地混合及比對不同的收集器。