במכשירים עם Android מגרסה 9 ואילך (רמת API 28 ואילך) יש אפליקציה ברמת המערכת שנקראת System Tracing. האפליקציה הזו דומה לכלי שורת הפקודה systrace
, אבל היא מאפשרת לתעד עקבות ישירות ממכשיר הבדיקה עצמו, בלי לחבר את המכשיר ולהתחבר אליו דרך adb
. לאחר מכן תוכלו להשתמש באפליקציה כדי לשתף את התוצאות מהמעקבים האלה עם צוות הפיתוח.
במכשירים עם Android מגרסה 10 ואילך, המערכת מתעדת את הנתונים בפורמט Perfetto, ואילו במכשירים ישנים יותר היא מתעדת אותם בפורמט Systrace. מומלץ להשתמש בצפייה ב-Perfetto כדי לפתוח את שני הפורמטים ולאחר מכן לנתח את הטרייסים.
כדאי לתעד עקבות כשאתם מטפלים באגים שקשורים לביצועים באפליקציה, כמו הפעלה איטית, מעברים איטיים או תנודות לא רצויות בממשק המשתמש.
תיעוד של נתוני מעקב של המערכת
באפליקציה 'מעקב אחר מערכת' אפשר לתעד מעקב אחר מערכת באמצעות משבצת ההגדרות המהירות או תפריט באפליקציה עצמה. בקטעים הבאים מוסבר איך להשלים את תהליך ההקלטה באמצעות הממשקים האלה.
איך מצלמים באמצעות לחצן בהגדרות המהירות
הכרטיסייה 'הגדרות מהירות' היא בדרך כלל הדרך הנוחה יותר להשלים את תהליך המעקב אחר המערכת במכשיר.
הגדרת אריח
אם זו הפעם הראשונה שאתם משתמשים ב-System Tracing במכשיר הבדיקה, או אם המשבצת System Tracing לא מופיעה בחלונית הגדרות מהירות של המכשיר, כפי שמוצג באיור 2, צריך לבצע את שלבי ההגדרה הבאים:
- מפעילים את האפשרויות למפתחים.
- פותחים את מסך ההגדרות של אפשרויות למפתחים.
- בקטע ניפוי באגים, בוחרים באפשרות מעקב אחר מערכת. אפליקציית System Tracing תיפתח ותוצג תפריט האפליקציה.
בתפריט האפליקציות, מפעילים את האפשרות הצגת לחצן בהגדרות המהירות, כפי שמוצג באיור 1. המערכת מוסיפה את המשבצת מעקב אחר מערכת לחלונית הגדרות מהירות, כפי שמוצג באיור 2:
הערה: כברירת מחדל, המערכת מוסיפה את המשבצת מעקב מערכת כמשבצת הראשונה בחלונית הגדרות מהירות. אם רוצים שהמשבצת תופיע במיקום אחר, אפשר להשתמש במצב העריכה של הלוח כדי להזיז אותה.
השלמת הקלטת מעקב אחר מערכת
כדי לתעד מעקב מערכת באמצעות החלונית הגדרות מהירות:
מקישים על המשבצת מעקב מערכת עם התווית תיעוד מעקב. המשבצת תופעל ותופיע התראה קבועה על כך שהמערכת מתעדת נתיב, כפי שמוצג באיור 3:
מבצעים באפליקציה את הפעולות שרוצים שהמערכת תבדוק.
כדי להפסיק את המעקב, מקישים על המשבצת מעקב מערכת בחלונית הגדרות מהירות או על ההתראה 'מעקב מערכת'.
במערכת תוצג התראה חדשה עם ההודעה 'שמירה של הנתיב'. בסיום השמירה, ההתראה תיסגר ותופיע התראה שלישית שמאשרת שהמעקב נשמר ושאתם מוכנים לשתף את מעקב המערכת, כפי שמוצג באיור 4:
הקלטה באמצעות תפריט האפליקציות
בתפריט האפליקציה אפשר להגדיר כמה הגדרות מתקדמות שקשורות למעקב אחרי המערכת, ויש בו מתג להפעלה ולעצירה של מעקב אחרי המערכת.
כדי להקליט מעקב מערכת באמצעות תפריט האפליקציה System Tracing:
- מפעילים את האפשרויות למפתחים.
פותחים את מסך ההגדרות של אפשרויות למפתחים. בקטע ניפוי באגים, בוחרים באפשרות מעקב אחר מערכת. האפליקציה System Tracing נפתחת.
לחלופין, אם הגדרתם את המשבצת מעקב אחר ביצועי המערכת, תוכלו להקיש לחיצה ארוכה על המשבצת כדי להיכנס לאפליקציה 'מעקב אחר ביצועי המערכת'.
מוודאים שהאפשרות Trace debuggable applications מסומנת כדי לכלול באבחון המערכת אפליקציות שבהן נמצאת הפעלת ניפוי באגים.
אפשר גם לבחור את הקטגוריות של קריאות המערכת והחיישנים שרוצים לעקוב אחריהן, ואת גודל המאגר לכל מעבד ב-KB. בוחרים קטגוריות שתואמות לתרחיש לדוגמה שאתם בודקים, למשל אודיו לבדיקת פעולות Bluetooth או זיכרון להקצאות אשכול.
אפשר גם לבחור באפשרות מעקבים ארוכים כדי להפעיל מעקבים שנשמרים באופן רציף באחסון המכשיר. באפשרות הזו, מגדירים מגבלות לגודל המעקב הארוך המקסימלי ולמשך המעקב הארוך המקסימלי.
מפעילים את המתג Record trace (תיעוד מעקב), שמודגש באיור 5. המשבצת תופעל ותופיע התראה קבועה על כך שהמערכת מתעדת נתיב, כפי שמוצג באיור 3.
מבצעים באפליקציה את הפעולות שרוצים שהמערכת תבדוק.
כדי להפסיק את המעקב, משביתים את המתג תיעוד המעקב.
במערכת תוצג התראה חדשה עם ההודעה 'שמירה של הנתיב'. בסיום השמירה, ההתראה תיסגר ותופיע התראה שלישית שמאשרת שהמעקב נשמר ושאתם מוכנים לשתף את מעקב המערכת, כפי שמתואר באיור 4.
שיתוף תיעוד מעקב של המערכת
אפליקציית System Tracing עוזרת לכם לשתף את תוצאות המעקב אחר המערכת כחלק מכמה תהליכי עבודה שונים. במכשיר עם Android 10 (API ברמה 29) ואילך, קובצי המעקב נשמרים עם סיומת השם .perfetto-trace
וניתן לפתוח אותם בממשק המשתמש של Perfeto. במכשיר שבו פועלת גרסה קודמת של Android, קובצי המעקב נשמרים עם סיומת שם הקובץ .ctrace
, שמציינת את פורמט Systrace.
שיתוף כהודעה
בעזרת System Tracing תוכלו לשתף את הנתונים שנאספו עם אפליקציות אחרות במכשיר. אפשר לשלוח את המעקב לצוות הפיתוח באימייל או באפליקציה למעקב אחר באגים, בלי לחבר מכשיר למכונת הפיתוח.
אחרי שתתעדו את המעקב אחרי המערכת, תוכלו להקיש על ההתראה שמופיעה במכשיר, כמו זו שמוצגת באיור 4. חלון הבחירה של הכוונה בפלטפורמה יופיע, ותוכלו לשתף את המסלול באמצעות אפליקציית ההודעות שבחרתם.
שיתוף דרך אפליקציית Files
במכשירים עם Android מגרסה 10 ואילך (רמת API 29 ואילך), הטרייסים מוצגים באפליקציית Files. אפשר לשתף טרייסים מהאפליקציה הזו.
הורדת דוח באמצעות ADB
אפשר גם לחלץ מעקב מערכת ממכשיר באמצעות adb
. מחברים את המכשיר שמשמש להקלטת המעקב למכונת הפיתוח, ומריצים את הפקודות הבאות בחלון מסוף:
cd /path-to-traces-on-my-dev-machine && \ adb pull /data/local/traces/ .
המרה בין פורמטים של מעקב
אפשר להמיר קובצי מעקב של Perfetto לפורמט Systrace. מידע נוסף זמין במאמר המרת פורמטים של מעקב.
יצירת דוח HTML
כשמשתפים את המעקב, הדוח עצמו נמצא בקובץ .perfetto-trace
במכשירים עם Android מגרסה 10 ואילך, או בקובץ .ctrace
בכל הגרסאות האחרות.
יוצרים דוח HTML מקובץ המעקב באמצעות ממשק משתמש מבוסס-אינטרנט או משורת הפקודה.
ממשק משתמש מבוסס-אינטרנט
פותחים את קובץ המעקב ויוצרים את הדוח באמצעות ממשק המשתמש של Perfeto.
בקובץ Perfetto, לוחצים על פתיחת קובץ המעקב. בקובץ Systrace, לוחצים על Open with legacy UI. ממשק המשתמש הקודם נראה ומשמש כמו הדוח Systrace.
שורת הפקודה
כדי ליצור דוח HTML מקובץ המעקב, מריצים את הפקודות הבאות בחלון טרמינל:
cd /path-to-traces-on-my-dev-machine && \ systrace --from-file trace-file-name{.ctrace | .perfetto-trace}
אם עדיין אין לכם את תוכנית שורת הפקודה systrace
, תוכלו להוריד אותה מהפרויקט Catapult ב-GitHub או ישירות מ-Android Open Source Project.
מומלץ עבורך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- מדידת ביצועים באינטגרציה רציפה (CI)
- תיעוד נתוני מעקב של מערכת בשורת הפקודה