Pengumpul metrik berbasis host berjalan di host, bukan di sisi perangkat. Mereka berinteraksi dengan perangkat dari sisi {i>host<i} untuk mengumpulkan metrik yang penargetan.
Desain kolektor metrik
Class dasar yang akan diperluas oleh semua kolektor adalah BaseDeviceMetricCollector, yang membantu menyediakan fungsi dasar bersama yang sama:
- Pemfilteran
- Menonaktifkan
- Pengumpulan pada kasus pengujian vs. pengujian yang dijalankan
Pengumpul mengikuti model pelacak hasil karena disinkronkan dengan eksekusi pengujian di host. Dengan kata lain, jika pengujian didorong oleh host, kolektor akan dieksekusi sebelum pengujian melanjutkan ke langkah eksekusi berikutnya.
Misalnya, jika kolektor dieksekusi di testEnded
, sebelum eksekusi
melanjutkan ke pengujian berikutnya dengan testStart
, kolektor akan dieksekusi.
Menerapkan kolektor metrik berbasis host
Ketika mengimplementasikan di atas class dasar BaseDeviceMetricCollector
, Anda
dapat memutuskan kapan Anda ingin mengumpulkan metrik selama siklus proses:
- Saat pengujian dimulai:
onTestRunStart
- Saat kasus pengujian dimulai:
onTestStart
- Saat kasus pengujian berakhir:
onTestEnd
- Saat pengujian yang dijalankan berakhir:
onTestRunEnd
Melakukan pengumpulan asinkron
Selain metode sinkron, TF menyediakan kelas dasar untuk mengimplementasikan
yang melakukan pengumpulan asinkron secara berkala,
ScheduleDeviceMetricCollector,
yang menyediakan metode collect
untuk diimplementasikan yang akan dijalankan
secara berkala.
Periode ini dapat disesuaikan menurut opsi.
Konfigurasi XML
Tag objek akan menjadi metrics_collector
, misalnya:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Rekomendasi
Pertama-tama, lihat daftar kolektor yang ada untuk memastikan Anda tidak menduplikasi pekerjaan. Kami mencoba untuk memastikan penggunaan kembali maksimum, jadi meminta setiap kolektor melakukan satu jenis koleksi memungkinkan lebih banyak pencampuran dan mencocokkan berbagai kolektor selama pelaksanaan uji.