אוספי מדדים שמנוהלים על ידי המארח פועלים במארח ולא בצד המכשיר. הם מבצעים אינטראקציה עם המכשיר מצד המארח כדי לאסוף את המדדים שהם מטרגטים.
עיצוב אוסף מדדים
כל האוספים מורחבים מהמחלקה הבסיסית BaseDeviceMetricCollector
, שמספקת את אותן פונקציות בסיסיות משותפות:
- סינון
- השבתה
- איסוף של מקרי בדיקה לעומת הפעלות בדיקה
האוספים פועלים לפי מודל של דיווח על תוצאות כי הם מסתנכרנים עם ביצוע הבדיקה במארח. בעוד לדוגמה, אם הבדיקות מבוססות על המארח, הקולקטורים מתבצעים לפני הבדיקה ממשיך לשלב הביצוע הבא.
לדוגמה, אם הגבייה מבצע פעולה ב-testEnded
, הגבלים מבצעים
לפני שהביצוע ממשיך לבדיקה הבאה עם testStart
.
הטמעת אוסף מדדים מבוסס-מארח
כשמטמיעים מעל לכיתה הבסיסית BaseDeviceMetricCollector
, אפשר להחליט מתי לאסוף את המדדים במהלך מחזור החיים:
- כשהרצת הבדיקה מתחילה:
onTestRunStart
- כשמתחיל מקרה בדיקה:
onTestStart
- כשמקרה בדיקה מסתיים:
onTestEnd
- בסיום הרצת בדיקה:
onTestRunEnd
ביצוע איסוף אסינכרוני
בנוסף לשיטות הסינכרוניות, TF מספק מחלקת בסיס להטמעה שמבצעת איסוף אסינכרוני תקופתי, ScheduledDeviceMetricCollector
, שמספקת שיטה collect
להטמעה שפועלת באופן תקופתי.
התקופה ניתנת להתאמה אישית לפי האפשרויות.
הגדרות XML
תג האובייקט הוא metrics_collector
, לדוגמה:
<metrics_collector class="com.android.tradefed.device.metric.AtraceCollector">
<option name="categories" value="freq"/>
</metrics_collector>
המלצות
כדאי לעיין ברשימה הקיימת של אספנים כדי לוודא שלא יוצרים עותקים של עבודה. אנחנו מנסים להבטיח שימוש חוזר מקסימלי, כך שכל קולקטור יבצע סוג אחד של אוסף, מאפשר יותר ערבוב והתאמה של אספנים שונים במהלך ביצוע הבדיקה.