Ana makine tarafından yönlendirilen metrik toplayıcılar, cihaz tarafında değil ana makinede çalışır. Hedefledikleri metrikleri toplamak için cihazla ana makine tarafında etkileşim kurarlar.
Metrik toplayıcı tasarımı
Tüm toplayıcıların genişlettiği temel sınıf BaseDeviceMetricCollector
'dir. Bu sınıf, aynı paylaşılan temel işlevleri sağlamaya yardımcı olur:
- Filtreleme
- Devre dışı bırakma
- Test durumları ve test çalıştırmalarının toplanması
Toplayıcılar, ana makinedeki test yürütmeyle senkronize oldukları için sonuç raporlama modelini izler. Diğer bir deyişle, testler ana makine tarafından yürütülüyorsa test bir sonraki yürütme adımına geçmeden önce toplayıcılar yürütülür.
Örneğin, toplayıcı testEnded
üzerinde çalıştırılırsa yürütme testStart
ile sonraki teste geçmeden önce toplayıcılar çalıştırılır.
Ana makine tarafından yönlendirilen bir metrik toplayıcıyı uygulama
Temel sınıf BaseDeviceMetricCollector
'ün üzerine uygulama yaparken metriklerinizi yaşam döngüsü sırasında ne zaman toplayacağınıza karar verebilirsiniz:
- Test çalışması başladığında:
onTestRunStart
- Bir test kaydı başladığında:
onTestStart
- Bir test senaryosu sona erdiğinde:
onTestEnd
- Test çalışması sona erdiğinde:
onTestRunEnd
Eşzamansız toplama işlemi gerçekleştirme
TF, eşzamanlı yöntemlere ek olarak, düzenli olarak eşzamansız veri toplama işlemi gerçekleştiren ScheduledDeviceMetricCollector
adlı bir temel sınıf sağlar. Bu sınıf, düzenli olarak çalıştırılacak bir collect
yöntemi sağlar.
Dönem, seçeneklere göre özelleştirilebilir.
XML yapılandırması
Nesne etiketi metrics_collector
'tir. Örneğin:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Öneriler
Aynı işi tekrarlamadığınızdan emin olmak için mevcut toplayıcı listesine bakın. Maksimum yeniden kullanılabilirlik sağlamak için her toplayıcının tek bir toplama türü gerçekleştirmesi, test yürütme sırasında farklı toplayıcıların daha fazla karıştırılmasına ve eşleştirilmesine olanak tanır.