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