Pengumpul metrik yang didorong host berjalan di host, bukan di sisi perangkat. Agen ini berinteraksi dengan perangkat dari sisi host untuk mengumpulkan metrik yang ditargetkan.
Desain kolektor metrik
Class dasar yang diperluas oleh semua kolektor adalah
BaseDeviceMetricCollector
,
yang membantu menyediakan fungsi dasar bersama yang sama:
- Pemfilteran
- Menonaktifkan
- Pengumpulan pada kasus pengujian versus pengujian yang dijalankan
Kolektor mengikuti model pelapor hasil karena model tersebut disinkronkan dengan eksekusi uji di host. Dengan kata lain, jika pengujian dijalankan oleh host, kolektor akan dijalankan sebelum pengujian dilanjutkan ke langkah eksekusi berikutnya.
Misalnya, jika kolektor dieksekusi pada testEnded
, kolektor akan dieksekusi sebelum eksekusi berlanjut ke pengujian berikutnya dengan testStart
.
Menerapkan pengumpulan metrik yang didorong host
Saat menerapkan di atas class dasar BaseDeviceMetricCollector
, Anda
dapat memutuskan kapan akan mengumpulkan metrik selama siklus proses:
- Saat pengujian dimulai:
onTestRunStart
- Saat kasus pengujian dimulai:
onTestStart
- Saat kasus pengujian berakhir:
onTestEnd
- Saat operasi pengujian berakhir:
onTestRunEnd
Melakukan pengumpulan asinkron
Selain metode sinkron, TF menyediakan class dasar untuk mengimplementasikan
yang melakukan pengumpulan asinkron berkala,
ScheduledDeviceMetricCollector
,
yang menyediakan metode collect
untuk diimplementasikan yang berjalan
secara berkala.
Periode ini dapat disesuaikan menurut opsi.
Konfigurasi XML
Tag objek adalah metrics_collector
, misalnya:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Rekomendasi
Lihat daftar kolektor yang ada untuk memastikan Anda tidak menduplikasi pekerjaan. Kami mencoba memastikan penggunaan kembali maksimum, sehingga setiap kolektor yang melakukan satu jenis pengumpulan memungkinkan lebih banyak pencampuran dan pencocokan kolektor yang berbeda selama eksekusi pengujian.