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