گردآورندههای معیارهای مبتنی بر میزبان در میزبان اجرا میشوند نه در سمت دستگاه. آنها از طرف میزبان با دستگاه تعامل می کنند تا معیارهایی را که هدف قرار می دهند جمع آوری کنند.
طراحی کلکتور متریک
کلاس پایه ای که همه جمع کننده ها گسترش خواهند داد 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>
توصیه ها
ابتدا نگاهی به لیست موجود از مجموعه داران بیندازید تا مطمئن شوید که کار را تکرار نمی کنید. ما سعی می کنیم از حداکثر قابلیت استفاده مجدد اطمینان حاصل کنیم، بنابراین داشتن هر جمع کننده ای که یک نوع مجموعه را انجام می دهد، امکان اختلاط و تطبیق بیشتر کلکتورهای مختلف را در طول اجرای آزمایش فراهم می کند.