جمعآوران سنجههای میزبانمحور در میزبان اجرا میشوند و نه در سمت دستگاه. این برنامهها ازطرف میزبان با دستگاه تعامل برقرار میکنند تا سنجههایی را که هدفیابی کردهاند جمعآوری کنند.
طراحی جمعآورنده سنجهها
کلاس پایه که همه جمعکنندهها از آن گسترش مییابند
BaseDeviceMetricCollector است،
که به ارائه عملکردهای پایه مشترک یکسان کمک میکند:
- فیلتر کردن
- در حال غیر فعال کردن
- مجموعه چارچوبهای تست درمقابل آزمایشها
گردآورندگان از مدل گزارشگر نتیجه پیروی میکنند زیرا با اجرای آزمایش در میزبان همگامسازی میشوند. به عبارت دیگر، اگر آزمایشها میزبانمحور باشند، جمعآورندهها قبلاز اینکه آزمایش به مرحله اجرای بعدی برود اجرا میشوند.
برای مثال، اگر جمعآوریکننده در testEnded اجرا شود، جمعآوریکنندهها قبلاز اینکه اجرا به آزمایش بعدی با testStart ادامه دهد اجرا میشوند.
پیادهسازی جمعآوریکننده سنجههای میزبانمحور
هنگام پیادهسازی در بالای کلاس پایه BaseDeviceMetricCollector میتوانید
تصمیم بگیرید که سنجههایتان را درطول چرخه حیات چه زمانی جمعآوری کنید:
- وقتی اجرای آزمایشی شروع میشود:
onTestRunStart - وقتی مورد آزمایشی شروع میشود:
onTestStart - وقتی چارچوب تست بهپایان میرسد:
onTestEnd - وقتی اجرای آزمایشی پایان مییابد:
onTestRunEnd
اجرای مجموعه ناهمزمان
علاوهبر روشهای همزمان، TF کلاس پایهای برای پیادهسازی ارائه میدهد
که جمعآوری ناهمزمان دورهای را انجام میدهد،
ScheduledDeviceMetricCollector،
که روش collect را برای پیادهسازی ارائه میدهد که بهصورت
دورهای اجرا میشود.
دوره با گزینهها قابلسفارشیسازی است.
پیکربندی XML
برچسب شیء metrics_collector است، برای مثال:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
توصیهها
به فهرست موجود جمعآوران نگاه کنید تا مطمئن شوید کار را تکرار نمیکنید. تلاش میکنیم تا بیشترین قابلیت استفاده مجدد را تضمین کنیم، بنابراین داشتن هر جمعکننده که یک نوع جمعآوری را انجام میدهد، امکان ترکیب و تطبیق جمعکنندههای مختلف را درطول اجرای آزمایش بیشتر میکند.