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
Pengumpul mengikuti model reporter 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
, kolektor akan dieksekusi
sebelum eksekusi dilanjutkan 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 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
yang akan diimplementasikan dan berjalan
secara berkala.
Periode dapat disesuaikan dengan 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 membuat setiap kolektor melakukan satu jenis pengumpulan memungkinkan lebih banyak pencampuran dan pencocokan kolektor yang berbeda selama eksekusi pengujian.