Ana makineye dayalı metrik toplayıcılar cihaz tarafında değil, ana makinede çalışır. Onlar metrikleri toplamak için ana makine tarafından cihazla etkileşimde bulunma hedeflemenize yardımcı olabilir.
Metrik toplayıcı tasarımı
Tüm toplayıcıların genişleteceği temel sınıf, aynı paylaşılan temel işlevleri sağlamaya yardımcı olan BaseDeviceMetricCollector'dır:
- Filtreleme
- Devre dışı bırakma
- Test durumları ile test çalıştırmalarının karşılaştırılması
Toplayıcılar, bir sonuç bildiriciyi takip eder ana makinedeki test yürütme işlemiyle senkronize olduğundan modeli. Başka sözcükler, testler ana makine odaklıysa toplayıcılar testten önce yürütülür bir sonraki yürütme adımına geçer.
Örneğin, toplayıcı, yürütme işleminden önce testEnded
tarihinde yürütülürse
toplayıcıların yürüteceği testStart
ile bir sonraki teste geçer.
Ana makineye dayalı metrik toplayıcı uygulama
BaseDeviceMetricCollector
temel sınıfın üzerine uygularken
yaşam döngüsü boyunca metriklerinizi ne zaman toplamak istediğinize karar verebilir:
- Test çalıştırması başladığında:
onTestRunStart
- Test durumu başladığında:
onTestStart
- 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, uygulanması gereken bir temel sınıf sağlar
koordineli bir şekilde veriyorum,
ScheduleDeviceMetricCollector,
Bu örnek, çalıştırılacak bir collect
yöntemi sağlar
düzenli olarak.
Bu dönem, seçeneklere göre özelleştirilebilir.
XML yapılandırması
Nesne etiketi metrics_collector
olur. Örneğin:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
Öneriler
Öncelikle, aynı işi yapmadığınızdan emin olmak için mevcut toplayıcılar listesine göz atın. Yeniden kullanılabilirliği en üst düzeye çıkarmaya çalışıyoruz. Her koleksiyoncunun tek bir koleksiyon türü icra etmesi, daha fazla karıştırma eşleştirilmesini sağlamak için bir fonksiyona sahiptir.