হোস্ট-চালিত মেট্রিক্স সংগ্রাহকগুলো ডিভাইসের দিকে নয়, বরং হোস্টে চলে। এগুলো তাদের কাঙ্ক্ষিত মেট্রিক্স সংগ্রহ করার জন্য হোস্টের দিক থেকে ডিভাইসের সাথে যোগাযোগ করে।
মেট্রিক্স সংগ্রাহক ডিজাইন
সকল কালেক্টর যে বেস ক্লাসটিকে এক্সটেন্ড করে তা হলো BaseDeviceMetricCollector , যা একই ধরনের সাধারণ মৌলিক কার্যকারিতা প্রদানে সহায়তা করে:
- ফিল্টারিং
- অক্ষম করা
- টেস্ট কেস বনাম টেস্ট রানের উপর সংগ্রহ
কালেক্টরগুলো একটি রেজাল্ট রিপোর্টার মডেল অনুসরণ করে, কারণ এগুলো হোস্টে টেস্ট এক্সিকিউশনের সাথে সিঙ্ক্রোনাইজ করে। অন্য কথায়, যদি টেস্টগুলো হোস্ট-চালিত হয়, তবে টেস্টটি পরবর্তী এক্সিকিউশন ধাপে যাওয়ার আগে কালেক্টরগুলো এক্সিকিউট করা হয়।
উদাহরণস্বরূপ, যদি কালেক্টরটি testEnded এ এক্সিকিউট হয়, তাহলে এক্সিকিউশন testStart মাধ্যমে পরবর্তী টেস্টে যাওয়ার আগে কালেক্টরগুলো এক্সিকিউট হয়।
হোস্ট-চালিত মেট্রিক্স সংগ্রাহক বাস্তবায়ন করুন
BaseDeviceMetricCollector বেস ক্লাসের উপরে ইমপ্লিমেন্ট করার সময়, আপনি লাইফসাইকেলের কোন পর্যায়ে আপনার মেট্রিকগুলো সংগ্রহ করবেন তা নির্ধারণ করতে পারেন:
- যখন একটি টেস্ট রান শুরু হয়:
onTestRunStart - যখন একটি টেস্ট কেস শুরু হয়:
onTestStart - যখন একটি টেস্ট কেস শেষ হয়:
onTestEnd - যখন একটি টেস্ট রান শেষ হয়:
onTestRunEnd
অ্যাসিঙ্ক্রোনাস সংগ্রহ সম্পাদন করুন
সিঙ্ক্রোনাস মেথডগুলোর পাশাপাশি, TF পর্যায়ক্রমিক অ্যাসিঙ্ক্রোনাস ডেটা সংগ্রহের জন্য ScheduledDeviceMetricCollector নামে একটি বেস ক্লাস প্রদান করে, যা ইমপ্লিমেন্ট করতে হয়। এই ক্লাসে একটি collect মেথড রয়েছে যা পর্যায়ক্রমে চলে।
বিকল্পগুলির মাধ্যমে সময়কালটি পরিবর্তন করা যায়।
এক্সএমএল কনফিগারেশন
অবজেক্ট ট্যাগটি হলো metrics_collector , উদাহরণস্বরূপ:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
সুপারিশসমূহ
আপনি যাতে একই কাজের পুনরাবৃত্তি না করেন, তা নিশ্চিত করতে কালেক্টরদের বিদ্যমান তালিকাটি দেখুন। আমরা সর্বোচ্চ পুনঃব্যবহারযোগ্যতা নিশ্চিত করার চেষ্টা করি, তাই প্রতিটি কালেক্টরকে একটি নির্দিষ্ট ধরনের সংগ্রহের কাজ করতে দিলে টেস্ট সম্পাদনের সময় বিভিন্ন কালেক্টরের মধ্যে আরও বেশি সমন্বয় ও মিশ্রণ করা যায়।