主機驅動的指標收集器

主機驅動的指標收集器在主機上運行,而不是在設備端運行。它們從主機端與裝置互動以收集它們所針對的指標。

指標收集器設計

所有收集器將擴展的基底類別是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>

建議

首先查看現有的收集器列表,以確保您沒有重複工作。我們嘗試確保最大的可重複使用性,因此讓每個收集器執行單一類型的收集,可以在測試執行期間更多地混合和匹配不同的收集器。

,

主機驅動的指標收集器在主機上運行,而不是在設備端運行。它們從主機端與裝置互動以收集它們所針對的指標。

指標收集器設計

所有收集器將擴展的基底類別是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>

建議

首先查看現有的收集器列表,以確保您沒有重複工作。我們嘗試確保最大的可重複使用性,因此讓每個收集器執行單一類型的收集,可以在測試執行期間更多地混合和匹配不同的收集器。