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

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

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

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

सुझाव

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