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