ホスト駆動型指標コレクタは、デバイス側ではなくホスト側で実行されます。ホスト側からデバイスと通信してターゲット側の指標を収集します。
指標コレクタの設計
すべてのコレクタが拡張する基本クラスは 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>
推奨事項
既存のコレクタリストを参照して、作業が重複していないことを確認してください。Google は再利用性を最大限に高めるようと努めています。したがって、各コレクタが 1 種類の収集を行うようにすると、テスト実行時にさまざまなコレクタをより多く組み合わせることが可能になります。