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

होस्ट के हिसाब से मेट्रिक इकट्ठा करने वाले टूल, होस्ट पर काम करते हैं, न कि डिवाइस पर. ये होस्ट की ओर से डिवाइस के साथ इंटरैक्ट करती हैं, ताकि वे उन मेट्रिक को इकट्ठा कर सकें जिन्हें वे टारगेट कर रही हैं.

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

सभी कलेक्टर जिस बेस क्लास को बढ़ाते हैं वह 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>

सुझाव

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