קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
כשמריצים בדיקות בצד המכשיר (לדוגמה, מכשירי מדידה, בדיקות UI Automator), יכול להיות שמאספים בצד המארח לא יהיו אידיאליים כי קשה לסנכרן את איסוף המדדים עם בדיקה שפועלת במכשיר. לדוגמה, צילום מסך שצולם באופן אסינכרוני עלול לא לכלול את המסך הרצוי ולהיות חסר תועלת.
כדי לעמוד בתרחישי השימוש האלה, יש גרסה של ה-collectors שלנו בצד המכשיר, שאפשר להשתמש בה בכל מכשיר AndroidJUnitRunner.
אפשר להטמיע את BaseMetricListener כדי לדווח באופן אוטומטי על מדדים שנאספים באופן שתואם באופן מלא לצינור עיבוד הנתונים לדיווח של Tradefed.
הספרייה הזו לא תלויה ב-Tradefed עצמו, וניתן להשתמש בה בלי Tradefed.
אם אתם משתמשים ב-runner AndroidJUnitTest מ-Tradefed, תוכלו לציין את אפשרות שורת הפקודה הבאה כדי להפעיל את האוסף יחד עם הבדיקות:
כשמטמיעים מעל לכיתה הבסיסית BaseMetricListener, אפשר לבחור מתי רוצים לאסוף את המדדים במהלך מחזור החיים של הכלי למדידת ביצועים:
כשהרצת הבדיקה מתחילה: onTestRunStart
כשמקרה בדיקה מתחיל: onTestStart
כשמקרה בדיקה מסתיים: onTestEnd
כשמקרה בדיקה נכשל: onTestFail
כשהרצת הבדיקה מסתיימת: onTestRunEnd
אינטראקציה
איסוף המדדים בצד המכשיר מתבצע באופן סינכרוני עם ביצוע המדידה עצמה, והמדדים מועברים חזרה לתוצאות המדידה ומנותחים על ידי Tradefed כדי לדווח עליהם כחלק מהקריאה.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Device-side metrics collectors\n\nWhen running device-side tests (for example, instrumentations, UI Automator\ntests), host-side collectors might not be ideal because it's difficult to\nsynchronize metric collection to a test running on a device. For example, a\nscreenshot taken asynchronously is likely to miss the wanted screen and be\nuseless.\n\nTo meet these use cases, a device-side version of our collectors exists\nand can be used in any `AndroidJUnitRunner` instrumentation.\n[`BaseMetricListener`](https://android.googlesource.com/platform/platform_testing/+/refs/heads/android16-release/libraries/device-collectors/src/main/java/android/device/collectors/BaseMetricListener.java)\ncan be implemented to automatically report metrics that are collected\nin a way fully compatible with the Tradefed reporting pipeline.\n\nThis library is decoupled from Tradefed itself and can be used without Tradefed.\n\nIf you're using the [`AndroidJUnitTest`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/test_framework/com/android/tradefed/testtype/AndroidJUnitTest.java)\nrunner from Tradefed, you can specify the following command line option\nto have your collector running with your tests: \n\n --device-listeners android.device.collectors.ScreenshotListener\n\n**Caution:** In order for the collector classes to be resolved at runtime, your instrumentation APK needs to statically include them by adding the following to your makefile: \n\n LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib\n\nImplementation\n--------------\n\nWhen implementing on top of the base class `BaseMetricListener`, you can choose\nwhen you would like to collect your metrics during the lifecycle of the\ninstrumentation:\n\n- When a test run starts: `onTestRunStart`\n- When a test case starts: `onTestStart`\n- When a test case ends: `onTestEnd`\n- When a test case fails: `onTestFail`\n- When a test run ends: `onTestRunEnd`\n\nInteraction\n-----------\n\nThe collection of metrics on the device side is made synchronously to the\ninstrumentation execution itself, and metrics are passed back to the\ninstrumentation results and parsed by Tradefed to be reported as part of the\ninvocation."]]