আইমেট্রিককালেক্টর
public interface IMetricCollector
implements IDisableable , ILogSaverListener
| com.android.tradefed.device.metric.IMetricCollector |
পরীক্ষার ফলাফল রিপোর্ট করার সময় মিল থাকা মেট্রিকগুলো সংগ্রহ করার জন্য এই ইন্টারফেসটি একটি ডেকোরেটর হিসেবে যুক্ত করা হবে।
এই ইন্টারফেসটি হিসেবে ব্যবহার করা যাবে না কালেক্টরদের কোনো অভ্যন্তরীণ স্টেট রাখার প্রয়োজন নেই, কারণ সেগুলো বিভিন্ন জায়গায় পুনরায় ব্যবহার করা যেতে পারে। যদি অভ্যন্তরীণ স্টেট ব্যবহার করতেই হয়, তবে কালেক্টরটি মডিউল লেভেল ক্যাপচারের জন্য প্রযোজ্য কিনা এবং এটিকে ইনিট করা উচিত কিনা। বর্তমান মডিউলে কোনো টেস্ট কেস বা টেস্ট রান ব্যর্থতা থাকলে 'true' রিটার্ন করে। সংগ্রাহকদের ডিফল্ট মেট্রিক্স সংগ্রহ সক্রিয় করার অনুমতি দেয়। আহ্বানে উপলব্ধ বিল্ড তথ্যের তালিকা ফেরত দেয়। আহ্বানে উপলব্ধ ডিভাইসগুলির তালিকা ফেরত দেয়। মূল বর্তমান প্রেক্ষাপট এবং ফলাফল কোথায় পাঠাতে হবে তা দিয়ে কালেক্টরের সূচনা। সংগ্রাহকটি ডিফল্ট মেট্রিক সংগ্রহের অংশ হিসেবে মেট্রিক সংগ্রহ করছে কিনা। অনুমানের ত্রুটির কারণে কোনো টেস্ট কেস ব্যর্থ হলে এই কলব্যাকটি ফেরত আসে। একটি টেস্ট কেস শেষ হলে কলব্যাক। একটি টেস্ট কেস শেষ হলে কলব্যাক। কোনো টেস্ট কেস ব্যর্থ হলে কলব্যাক। মডিউল সমাপ্তির ইভেন্টটি ক্যাপচার করার সুযোগ দেয়। মডিউল চালু হওয়ার ইভেন্টটি ক্যাপচার করার সুযোগ দেয়। টেস্ট রান শেষ হলে কলব্যাক। টেস্ট রান শুরু হলে কলব্যাক। টেস্ট রান শুরু হলে কলব্যাক। যদি সমর্থন করে, তবে কালেক্টরকে ম্যানুয়ালি চালু করার জন্য সুস্পষ্ট কলব্যাক। টেস্ট কেস শুরু হলে কলব্যাক। ব্যর্থতা নির্বিশেষে সংগ্রাহক কোন স্তরে লগ সংগ্রহ করবে তা নির্ধারণ করে। মডিউলটিতে কোনো ব্যর্থতা ছিল কিনা তা নির্ধারণ করে (টেস্ট কেস, টেস্ট রান)। ব্যর্থতার সময় সংগ্রাহক কোন স্তরে লগ সংগ্রহ করবে তা নির্ধারণ করে। কালেক্টরটি মডিউল লেভেল ক্যাপচারের জন্য প্রযোজ্য কিনা এবং এটিকে ইনিট করা উচিত কিনা। বর্তমান মডিউলে কোনো টেস্ট কেস বা টেস্ট রান ব্যর্থতা থাকলে 'true' রিটার্ন করে। সংগ্রাহকদের ডিফল্ট মেট্রিক সংগ্রহ সক্রিয় করার সুযোগ দেয়। যখন ডিফল্ট মেট্রিক সংগ্রহ সক্রিয় করা হয়, তখন সংগ্রাহক শুধুমাত্র নির্দিষ্ট সংগ্রহ স্তরেই ডেটা সংগ্রহ করবে। আহ্বানে উপলব্ধ বিল্ড তথ্যের তালিকা ফেরত দেয়। আহ্বানে উপলব্ধ ডিভাইসগুলির তালিকা ফেরত দেয়। মূল বর্তমান কনটেক্সট এবং ফলাফল কোথায় ফরোয়ার্ড করতে হবে তা দিয়ে কালেক্টরের সূচনা। এটি প্রতি ইনস্ট্যান্সে শুধুমাত্র একবার কল করা হবে, এবং আশা করা হয় যে কালেক্টর তার অভ্যন্তরীণ কনটেক্সট এবং লিসেনার আপডেট করবে। টেস্ট রান চলাকালীন Init কখনই কল করা হবে না, সর্বদা তার আগে কল করা হবে। আপনি কী করছেন সে সম্পর্কে না জেনে অগ্রাহ্য করবেন না। সংগ্রাহকটি ডিফল্ট মেট্রিক সংগ্রহের অংশ হিসেবে মেট্রিক সংগ্রহ করছে কিনা। অনুমানের ত্রুটির কারণে কোনো টেস্ট কেস ব্যর্থ হলে এই কলব্যাকটি ফেরত আসে। একটি টেস্ট কেস শেষ হলে কলব্যাক। এই সময়েই পরিষ্করণ করা উচিত। একটি টেস্ট কেস শেষ হলে কলব্যাক। এই সময়েই পরিষ্করণ করা উচিত। কোনো টেস্ট কেস ব্যর্থ হলে কলব্যাক। মডিউল সমাপ্তির ইভেন্টটি ক্যাপচার করার সুযোগ দেয়। মডিউল চালু হওয়ার ইভেন্টটি ক্যাপচার করার সুযোগ দেয়। টেস্ট রান শেষ হলে এই কলব্যাকটি আসবে। এই সময়েই পরিষ্করণ করা উচিত। টেস্ট রান শুরু হলে কলব্যাক। টেস্ট রান শুরু হলে কলব্যাক। যদি সমর্থন করে, তবে কালেক্টরকে ম্যানুয়ালি চালু করার জন্য একটি সুস্পষ্ট কলব্যাক। এর মাধ্যমে নিশ্চিত করা যায় যে আমরা কিছু অ্যাসিঙ্ক্রোনাস টেস্ট লাইফসাইকেলের বাইরে আছি। টেস্ট কেস শুরু হলে কলব্যাক। ব্যর্থতা নির্বিশেষে সংগ্রাহক কোন স্তরে লগ সংগ্রহ করবে তা নির্ধারণ করে। NULL লেভেলের ফলে কোনো ডেটা সংগ্রহ করা হবে না। মডিউলটিতে কোনো ব্যর্থতা ছিল কিনা তা নির্ধারণ করে (টেস্ট কেস, টেস্ট রান)। ব্যর্থতার সময় সংগ্রাহক কোন স্তরে লগ সংগ্রহ করবে তা নির্ধারণ করে। NULL লেভেলের ফলে কোনো ডেটা সংগ্রহ করা হবে না।ITestInvocationListener এক্সটেন্ড করলেও, কনফিগারেশন চেকিং এটিকে প্রত্যাখ্যান করবে। এটিকে অবশ্যই একটি "metrics_collector" হিসেবে ব্যবহার করতে হবে।init(IInvocationContext,ITestInvocationListener) -এর সময় তা ক্লিন করা উচিত। সারসংক্ষেপ
জনসাধারণের পদ্ধতি
default boolean captureModuleLevel () default boolean doesModuleContainFailure () default void enableDefaultMetricCollection () default IMetricCollector.MetricCollectionLevel getAlwaysOnCollectionLevel () abstract List< IBuildInfo > getBuildInfos () abstract List< ITestDevice > getDevices () abstract ITestInvocationListener getInvocationListener ()ITestInvocationListener ফেরত দেয়, যেখানে আমরা ফলাফলগুলো পাঠাচ্ছি। default IMetricCollector.MetricCollectionLevel getOnFailureCollectionLevel () abstract ITestInvocationListener init ( IInvocationContext context, ITestInvocationListener listener) default boolean isDefaultMetricCollectionEnabled () abstract void onTestAssumptionFailure ( DeviceMetricData testData, TestDescription test) abstract void onTestEnd ( DeviceMetricData testData, Map<String, MetricMeasurement.Metric> currentTestCaseMetrics, TestDescription test) abstract void onTestEnd ( DeviceMetricData testData, Map<String, MetricMeasurement.Metric> currentTestCaseMetrics) abstract void onTestFail ( DeviceMetricData testData, TestDescription test) default void onTestModuleEnded () default void onTestModuleStarted () abstract void onTestRunEnd ( DeviceMetricData runData, Map<String, MetricMeasurement.Metric> currentRunMetrics) abstract void onTestRunStart ( DeviceMetricData runData) default void onTestRunStart ( DeviceMetricData runData, int testCount) default void onTestRunStartBlocking () abstract void onTestStart ( DeviceMetricData testData) default void setAlwaysOnCollectionLevel ( IMetricCollector.MetricCollectionLevel level) default void setModuleContainsFailure () default void setOnFailureCollectionLevel ( IMetricCollector.MetricCollectionLevel level) জনসাধারণের পদ্ধতি
ক্যাপচারমডিউললেভেল
public boolean captureModuleLevel ()
ফেরত boolean মডিউলে কি ব্যর্থতা আছে
public boolean doesModuleContainFailure ()
ফেরত boolean ডিফল্ট মেট্রিক সংগ্রহ সক্ষম করুন
public void enableDefaultMetricCollection ()
getAlwaysOnCollectionLevel
public IMetricCollector.MetricCollectionLevel getAlwaysOnCollectionLevel ()
ফেরত IMetricCollector.MetricCollectionLevel বিল্ড তথ্য পান
public abstract List<IBuildInfo> getBuildInfos ()
ফেরত List< IBuildInfo > ডিভাইসগুলি পান
public abstract List<ITestDevice> getDevices ()
ফেরত List< ITestDevice > getInvocationListener
public abstract ITestInvocationListener getInvocationListener ()
ITestInvocationListener ফেরত দেয়, যেখানে আমরা ফলাফলগুলো পাঠাচ্ছি। ফেরত ITestInvocationListener getOnFailureCollectionLevel
public IMetricCollector.MetricCollectionLevel getOnFailureCollectionLevel ()
ফেরত IMetricCollector.MetricCollectionLevel ইনিট
public abstract ITestInvocationListener init (IInvocationContext context,
ITestInvocationListener listener)
প্যারামিটার context IInvocationContext : চলমান আহ্বানের জন্য IInvocationContext । listener ITestInvocationListener : ফলাফল রাখার জন্য ব্যবহৃত ITestInvocationListener । ফেরত ITestInvocationListener নতুন লিসেনারটি আসলটিকে আবৃত করছে। নিক্ষেপ DeviceNotAvailableException isDefaultMetricCollectionEnabled
public boolean isDefaultMetricCollectionEnabled ()
ফেরত boolean পরীক্ষার অনুমান ব্যর্থতা
public abstract void onTestAssumptionFailure (DeviceMetricData testData,
TestDescription test)
প্যারামিটার testData DeviceMetricData : যে DeviceMetricData টেস্ট কেসের ডেটা ধারণ করে। test TestDescription : চলমান টেস্ট কেসটির TestDescription । নিক্ষেপ DeviceNotAvailableException পরীক্ষার শেষে
public abstract void onTestEnd (DeviceMetricData testData,
Map<String, MetricMeasurement.Metric> currentTestCaseMetrics,
TestDescription test)
প্যারামিটার testData DeviceMetricData : টেস্ট কেসের ডেটা ধারণকারী DeviceMetricData । এটি onTestStart(DeviceMetricData) চলাকালীন ব্যবহৃত অবজেক্টটির মতোই হবে। currentTestCaseMetrics Map : testEnded(TestDescription,Map) -এ পাঠানো মেট্রিকগুলোর বর্তমান ম্যাপ। test TestDescription : চলমান টেস্ট কেসটির TestDescription । নিক্ষেপ DeviceNotAvailableException পরীক্ষার শেষে
public abstract void onTestEnd (DeviceMetricData testData,
Map<String, MetricMeasurement.Metric> currentTestCaseMetrics)
প্যারামিটার testData DeviceMetricData : টেস্ট কেসের ডেটা ধারণকারী DeviceMetricData । এটি onTestStart(DeviceMetricData) চলাকালীন ব্যবহৃত অবজেক্টটির মতোই হবে। currentTestCaseMetrics Map : testEnded(TestDescription,Map) -এ পাঠানো মেট্রিকগুলোর বর্তমান ম্যাপ। নিক্ষেপ DeviceNotAvailableException onTestFail
public abstract void onTestFail (DeviceMetricData testData,
TestDescription test)
প্যারামিটার testData DeviceMetricData : যে DeviceMetricData টেস্ট কেসের ডেটা ধারণ করে। test TestDescription : চলমান টেস্ট কেসটির TestDescription । নিক্ষেপ DeviceNotAvailableException onTestModuleEnded
public void onTestModuleEnded ()
নিক্ষেপ com.android.tradefed.device.DeviceNotAvailableException DeviceNotAvailableException onTestModuleStarted
public void onTestModuleStarted ()
নিক্ষেপ com.android.tradefed.device.DeviceNotAvailableException DeviceNotAvailableException টেস্ট রান শেষে
public abstract void onTestRunEnd (DeviceMetricData runData,
Map<String, MetricMeasurement.Metric> currentRunMetrics)
প্যারামিটার runData DeviceMetricData : রানটির ডেটা ধারণকারী DeviceMetricData । এটি onTestRunStart(DeviceMetricData) চলাকালীন ব্যবহৃত অবজেক্টটির মতোই হবে। currentRunMetrics Map : testRunEnded(long,Map) -এ পাঠানো মেট্রিকগুলোর বর্তমান ম্যাপ। নিক্ষেপ DeviceNotAvailableException onTestRunStart
public abstract void onTestRunStart (DeviceMetricData runData)
প্যারামিটার runData DeviceMetricData : যে DeviceMetricData রানটির ডেটা ধারণ করে। নিক্ষেপ DeviceNotAvailableException onTestRunStart
public void onTestRunStart (DeviceMetricData runData,
int testCount)
প্যারামিটার runData DeviceMetricData : যে DeviceMetricData রানটির ডেটা ধারণ করে। testCount int : এই টেস্ট রানে টেস্ট কেসের সংখ্যা। নিক্ষেপ DeviceNotAvailableException onTestRunStartBlocking
public void onTestRunStartBlocking ()
নিক্ষেপ com.android.tradefed.device.DeviceNotAvailableException DeviceNotAvailableException পরীক্ষা শুরু
public abstract void onTestStart (DeviceMetricData testData)
প্যারামিটার testData DeviceMetricData : যে DeviceMetricData টেস্ট কেসের ডেটা ধারণ করে। নিক্ষেপ DeviceNotAvailableException সর্বদা চালু সংগ্রহ স্তর সেট করুন
public void setAlwaysOnCollectionLevel (IMetricCollector.MetricCollectionLevel level)
প্যারামিটার level IMetricCollector.MetricCollectionLevel : যে MetricCollectionLevel স্তরে লগগুলি সংগ্রহ করা হবে। setModuleContainsFailure
public void setModuleContainsFailure ()
ব্যর্থতার ক্ষেত্রে সংগ্রহের স্তর নির্ধারণ করুন
public void setOnFailureCollectionLevel (IMetricCollector.MetricCollectionLevel level)
প্যারামিটার level IMetricCollector.MetricCollectionLevel : যে MetricCollectionLevel স্তরে লগগুলি সংগ্রহ করা হবে।