אוספי מדדים שמנוהלים על ידי המארח פועלים במארח ולא בצד המכשיר. הם יוצרים אינטראקציה עם המכשיר מצד המארח כדי לאסוף את המדדים שהם מטרגטים.
תכנון של אגרגטור מדדים
כל האוספים מורחבים מהמחלקה הבסיסית 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>
המלצות
כדאי לעיין ברשימת המאגרים הקיימים כדי לוודא שאתם לא משכפלים עבודה. אנחנו מנסים להבטיח שימוש חוזר מרבי, ולכן כל אסוף מתבצע על ידי אסוף אחד בלבד. כך אפשר לשלב יותר אספנים שונים ולבצע התאמה ביניהם במהלך ביצוע הבדיקה.