Ana makine odaklı metrik toplayıcılar, cihaz tarafında değil ana makinede çalışır. Hedefledikleri metrikleri toplamak için ana makine tarafında cihazla 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şlevlerin sağlanmasına yardımcı olur:
- Filtreleme
- Devre dışı bırakma
- Test durumları ve test çalıştırmalarıyla ilgili koleksiyon
Toplayıcılar, ana makinedeki test yürütmeyle senkronize oldukları için sonuç bildirici modelini kullanır. Diğer bir deyişle, testler ana makine odaklıysa toplayıcılar, test bir sonraki yürütme adımına geçmeden önce yürütülür.
Örneğin, toplayıcı testEnded
üzerinde çalışıyorsa toplayıcılar, testStart
ile sonraki teste geçilmeden önce çalışır.
Ana makine odaklı metrik toplayıcı uygulama
BaseDeviceMetricCollector
temel sınıfının üzerine uygulama yaparken yaşam döngüsü sırasında metriklerinizi ne zaman toplayacağınıza karar verebilirsiniz:
- Test çalıştırması başladığında:
onTestRunStart
- Bir test durumu başladığında:
onTestStart
- Bir test durumu sona erdiğinde:
onTestEnd
- Test çalıştırması sona erdiğinde:
onTestRunEnd
Eşzamansız toplama gerçekleştirme
TF, eşzamanlı yöntemlere ek olarak, periyodik eşzamansız toplama işlemi gerçekleştiren bir temel sınıf sağlar. ScheduledDeviceMetricCollector
, periyodik olarak çalışan bir collect
yönteminin uygulanmasını sağlar.
Dönem, seçeneklere göre özelleştirilebilir.
XML yapılandırması
Nesne etiketi metrics_collector
'dır. Örneğin:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Öneriler
Çalışmaların yinelenmediğinden emin olmak için mevcut koleksiyoncuların listesine bakın. Maksimum yeniden kullanılabilirlik sağlamaya çalışırız. Bu nedenle, her toplayıcının tek bir türde toplama işlemi yapması, test yürütme sırasında farklı toplayıcıların daha fazla karıştırılıp eşleştirilmesine olanak tanır.