होस्ट-ड्रिवन मेट्रिक कलेक्टर

होस्ट-ड्रिवन मेट्रिक कलेक्टर, होस्ट पर चलते हैं, न कि डिवाइस पर. वे अपनी टारगेट की गई मेट्रिक इकट्ठा करने के लिए, होस्ट साइड से डिवाइस के साथ इंटरैक्ट करते हैं.

मेट्रिक कलेक्टर का डिज़ाइन

सभी कलेक्टर, 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>

सुझाव

कलेक्टर की मौजूदा सूची देखें और पक्का करें कि आपने डुप्लीकेट डेटा इकट्ठा न किया हो. हम यह पक्का करने की कोशिश करते हैं कि डेटा को ज़्यादा से ज़्यादा बार इस्तेमाल किया जा सके. इसलिए, हर कलेक्टर को एक ही तरह का डेटा इकट्ठा करने की अनुमति दी जाती है. इससे टेस्ट के दौरान, अलग-अलग कलेक्टर को ज़्यादा आसानी से मिलाया और मैच किया जा सकता है.