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 pengumpulan 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. Di jika pengujian dijalankan oleh host, kolektor dijalankan sebelum tes melanjutkan ke langkah eksekusi berikutnya.
Misalnya, jika kolektor dieksekusi pada testEnded
, kolektor akan mengeksekusi
sebelum eksekusi dilanjutkan ke pengujian berikutnya dengan testStart
.
Menerapkan kolektor metrik berbasis 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 kelas dasar untuk mengimplementasikan
yang menjalankan pengumpulan asinkron berkala,
ScheduledDeviceMetricCollector
,
yang menyediakan metode collect
untuk diimplementasikan yang menjalankan
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 untuk memastikan penggunaan kembali maksimum, jadi meminta setiap kolektor melakukan satu jenis koleksi memungkinkan lebih banyak pencampuran dan mencocokkan berbagai kolektor selama pelaksanaan uji.