होस्ट-ड्रिवन मेट्रिक कलेक्टर, होस्ट पर चलते हैं, न कि डिवाइस पर. वे होस्ट साइड से डिवाइस के साथ इंटरैक्ट करें, ताकि वे उन मेट्रिक को इकट्ठा कर सकें टारगेटिंग.
मेट्रिक कलेक्टर का डिज़ाइन
सभी कलेक्टर, 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>
सुझाव
कलेक्टर की मौजूदा सूची देखें ताकि यह पक्का किया जा सके कि कहीं डुप्लीकेट कॉपी नहीं बन रहे हैं. हम यह पक्का करने की कोशिश करते हैं कि डेटा को ज़्यादा से ज़्यादा बार इस्तेमाल किया जा सके. इसलिए, हर कलेक्टर को एक ही तरह का डेटा इकट्ठा करने की अनुमति दी जाती है. इससे टेस्ट के दौरान, अलग-अलग कलेक्टर को ज़्यादा आसानी से मिलाया और मैच किया जा सकता है.