Pengumpul metrik yang digerakkan oleh host berjalan di host, bukan di sisi perangkat. Pengumpul metrik berinteraksi dengan perangkat dari sisi host untuk mengumpulkan metrik yang ditargetkan.
Desain pengumpul metrik
Class dasar yang diperluas oleh semua pengumpul adalah
BaseDeviceMetricCollector,
yang membantu menyediakan fungsi dasar bersama yang sama:
- Pemfilteran
- Menonaktifkan
- Pengumpulan pada kasus pengujian versus pengujian
Pengumpul mengikuti model pelapor hasil karena disinkronkan dengan eksekusi uji di host. Dengan kata lain, jika pengujian digerakkan oleh host, pengumpul akan dieksekusi sebelum pengujian dilanjutkan ke langkah eksekusi berikutnya.
Misalnya, jika pengumpul dieksekusi di testEnded, pengumpul akan dieksekusi sebelum eksekusi dilanjutkan ke pengujian berikutnya dengan testStart.
Mengimplementasikan pengumpul metrik yang digerakkan oleh host
Saat mengimplementasikan 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 untuk diimplementasikan yang berjalan
secara berkala.
Periode dapat disesuaikan berdasarkan 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 pengumpul yang ada untuk memastikan Anda tidak menduplikasi pekerjaan. Kami mencoba memastikan kemampuan untuk digunakan kembali maksimum, sehingga setiap collector melakukan satu jenis collection memungkinkan lebih banyak pencampuran dan pencocokan collector yang berbeda selama eksekusi uji.