主機導向指標收集器

主機導向指標收集器會在主機上執行,而非在裝置端執行。這些指標會從主機端與裝置互動,收集指定的指標。

指標收集器設計

所有收集器擴充的基礎類別是 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>

建議

請查看現有的收集器清單,確認您不會重複工作。我們會盡量確保可重複使用性,因此如果讓每個收集器執行單一類型集合,就能在測試執行期間進一步混合和比對不同的收集器。