হোস্ট-পরিচালিত মেট্রিক সংগ্রহকারী হোস্টেই চলে, ডিভাইসে নয়। সেগুলি হোস্টের দিক থেকে ডিভাইসের সাথে ইন্টার্যাক্ট করে, যে মেট্রিক্সকে টার্গেট করেছে সেগুলি সংগ্রহ করে।
মেট্রিক কালেক্টর ডিজাইন
সব কালেক্টর যে বেস ক্লাস এক্সটেন্ড করে তা হল
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>
সাজেশন
আপনি যাতে একই কাজ একাধিকবার না করেন তা নিশ্চিত করতে, সংগ্রহকারীদের আগে থেকে থাকা তালিকা দেখুন। আমরা সর্বাধিক রিইউজেবিলিটি নিশ্চিত করার চেষ্টা করি, তাই প্রতিটি কালেক্টরকে এক ধরনের কালেকশন পারফর্ম করতে দিলে, টেস্ট এক্সিকিউশনের সময় বিভিন্ন কালেক্টরকে আরও বেশি করে মিক্স ও ম্যাচ করা যায়।