Pengumpul metrik yang didorong host berjalan di host, bukan di sisi perangkat. Mereka berinteraksi dengan perangkat dari sisi host untuk mengumpulkan metrik yang mereka targetkan.
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 pengujian di host. Dengan kata lain, jika pengujian didorong 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
.
Menerapkan pengumpul metrik yang digerakkan host
Saat menerapkan di atas class dasar BaseDeviceMetricCollector
, Anda dapat memutuskan kapan harus mengumpulkan metrik selama siklus proses:
- Saat uji coba dimulai:
onTestRunStart
- Saat kasus pengujian dimulai:
onTestStart
- Saat kasus pengujian berakhir:
onTestEnd
- Saat uji coba berakhir:
onTestRunEnd
Melakukan pengumpulan asinkron
Selain metode sinkron, TF menyediakan class dasar untuk mengimplementasikan
yang melakukan pengumpulan asinkron periodik,
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 berupaya memastikan penggunaan kembali yang maksimal, sehingga setiap pengumpul melakukan satu jenis pengumpulan memungkinkan lebih banyak pencampuran dan pencocokan berbagai pengumpul selama eksekusi pengujian.