主机驱动的指标收集器在主机上运行,而不是在设备端运行。它们从主机端与设备交互,以收集它们所针对的指标。
指标收集器设计
所有收集器扩展的基类是 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>
建议
查看现有收集器列表,以确保您没有重复工作。我们努力确保最大的可重用性,因此,让每个收集器执行单一类型的收集可以允许在测试执行期间混合和匹配不同的收集器。