호스트 기반 측정항목 수집기는 기기 측이 아닌 호스트에서 실행되며 호스트 측의 기기와 상호작용하여 타겟팅 중인 측정항목을 수집합니다.
측정항목 수집기 설계
모든 수집기에서 확장하는 기본 클래스는 BaseDeviceMetricCollector입니다. 이 클래스는 공유된 동일한 기본 기능을 제공하는 데 도움을 줍니다.
- 필터링
- 사용 중지
- 테스트 사례 및 테스트 실행 비교 수집
수집기는 호스트의 테스트 실행과 동기화되므로 결과 보고자 모델을 따릅니다. 즉 테스트가 호스트 기반인 경우 수집기는 테스트가 다음 실행 단계로 넘어가기 전에 실행됩니다.
예를 들어 실행이 testStart
로 다음 테스트로 넘어가기 전에 수집기가 testEnded
를 실행하면 수집기가 실행됩니다.
호스트 기반 측정항목 수집기 구현
기본 클래스 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>
추천
우선 기존 수집기 목록을 살펴보고 작업이 중복되지 않는지 확인합니다. Google은 최대의 재사용성을 보장하려고 노력합니다. 따라서 각 수집기가 단일 유형의 수집을 실행하도록 할 경우 테스트 실행 도중 여러 수집기의 추가적인 믹스 앤 매치가 가능합니다.