תיעוד מעקב המערכת במכשיר

מכשירים עם Android מגרסה 9 (רמת API‏ 28) ואילך כוללים אפליקציה ברמת המערכת שנקראת System Tracing (מעקב אחר המערכת). האפליקציה הזו דומה לכלי השירות של שורת הפקודה systrace, אבל היא מאפשרת להקליט עקבות ישירות ממכשיר בדיקה, בלי לחבר את המכשיר ולהתחבר אליו דרך adb. לאחר מכן תוכלו להשתמש באפליקציה כדי לשתף את התוצאות של העקבות האלה עם צוות הפיתוח.

במכשירים עם Android מגרסה 10 ומעלה, הנתונים מתועדים בפורמט Perfetto, ואילו במכשירים מגרסאות קודמות, הנתונים מתועדים בפורמט Systrace. מומלץ להשתמש בכלי Perfetto לצפייה בנתוני מעקב כדי לפתוח את שני הפורמטים ואז לנתח את נתוני המעקב.

הקלטת עקבות יכולה לעזור לכם לטפל בבאגים שקשורים לביצועים באפליקציה, כמו הפעלה איטית, מעברים איטיים או תנודות בממשק המשתמש.

הקלטת נתוני מעקב של המערכת

אפליקציית System Tracing (מעקב אחר המערכת) מאפשרת לכם להקליט עקבות מערכת באמצעות הלחצן להגדרות מהירות או תפריט בתוך האפליקציה עצמה. בקטעים הבאים מוסבר איך להשלים את תהליך ההקלטה באמצעות הממשקים האלה.

הקלטה באמצעות הכפתור ב'הגדרות מהירות'

בדרך כלל, המשבצת 'הגדרות מהירות' היא הדרך הנוחה יותר להשלמת תהליך מעקב המערכת במכשיר.

הגדרת אריח

אם אתם משתמשים ב-System Tracing בפעם הראשונה במכשיר הבדיקה, או אם אתם לא רואים את הלחצן System Tracing בחלונית Quick Settings של המכשיר, כמו שמוצג באיור 2, צריך לבצע את שלבי ההגדרה הבאים:

  1. הפעלת האפשרויות למפתחים
  2. פותחים את מסך ההגדרות אפשרויות למפתחים.
  3. בקטע Debugging (ניפוי באגים), בוחרים באפשרות System Tracing (מעקב אחר המערכת). אפליקציית System Tracing (מעקב אחר המערכת) תיפתח ותציג את תפריט האפליקציה.
  4. בתפריט האפליקציה, מפעילים את האפשרות הצגת כפתור בהגדרות המהירות, כמו שמוצג באיור 1. המערכת מוסיפה את הכפתור מעקב אחר המערכת לחלונית הגדרות מהירות, כמו שמוצג באיור 2:

    איור 1. המתג הצגת כפתור המעקב ב'הגדרות מהירות' באפליקציה System Tracing (מעקב אחר המערכת).
    איור 2. הכפתור מעקב אחר המערכת בחלונית הגדרות מהירות.

    הערה: כברירת מחדל, המערכת מוסיפה את האריח System Tracing כאריח הראשון בחלונית Quick Settings. אם רוצים שהמשבצת תופיע במיקום אחר, משתמשים במצב העריכה של החלונית כדי להזיז את המשבצת.

השלמת הקלטה של עקבות המערכת

כדי לתעד את עקבות המערכת באמצעות החלונית הגדרות מהירות, מבצעים את השלבים הבאים:

  1. מקישים על המשבצת System Tracing (מעקב אחר המערכת) עם התווית Record trace (תיעוד מעקב). האריח מופעל, ומופיעה התראה קבועה שמציינת שהמערכת מתעדת נתונים, כמו שמוצג באיור 3:

    התראה עם ההודעה 'המעקב מוקלט. לוחצים כדי להפסיק את המעקב.'
    איור 3. התראה קבועה שמופיעה אחרי התחלה של מעקב מערכת במכשיר.
  2. מבצעים את הפעולות באפליקציה שרוצים שהמערכת תבדוק.

  3. כדי להפסיק את המעקב, מקישים על הכרטיס מעקב מערכת בלוח הגדרות מהירות או על ההתראה 'מעקב מערכת'.

    המערכת מציגה התראה חדשה שמכילה את ההודעה 'שמירת המעקב'. כשהשמירה מסתיימת, המערכת מסירה את ההתראה ומציגה התראה שלישית, שמאשרת שהמעקב נשמר ושהוא מוכן לשיתוף, כמו שמוצג באיור 4:

    התראה עם ההודעה 'המעקב נשמר. מקישים כדי לשתף את הנתונים שלכם.
    איור 4. התראה קבועה שמופיעה אחרי שהמערכת מסיימת לשמור את נתוני העקבות שהוקלטו.
    <x0A>

הקלטה באמצעות תפריט האפליקציה

בתפריט האפליקציה אפשר להגדיר כמה הגדרות מתקדמות שקשורות למעקב אחר המערכת, ויש בו מתג להפעלה ולהפסקה של מעקב אחר המערכת.

כדי להקליט נתוני מעקב של המערכת באמצעות התפריט של אפליקציית System Tracing (מעקב אחר המערכת):

  1. הפעלת האפשרויות למפתחים
  2. פותחים את מסך ההגדרות אפשרויות למפתחים. בקטע Debugging, בוחרים באפשרות System Tracing. אפליקציית מעקב המערכת נפתחת.

    לחלופין, אם הגדרתם את הכפתור מעקב אחר המערכת, אתם יכולים ללחוץ לחיצה ארוכה על הכפתור כדי להיכנס לאפליקציה 'מעקב אחר המערכת'.

  3. מוודאים שהאפשרות Trace debuggable applications (מעקב אחרי אפליקציות שאפשר לבצע בהן ניפוי באגים) מסומנת כדי לכלול אפליקציות שהאפשרות לניפוי באגים מופעלת בהן במעקב המערכת.

  4. אפשר גם לבחור את הקטגוריות של קריאות למערכת ולחיישן למעקב, ולבחור גודל מאגר לכל מעבד בקילו-בייט. בוחרים קטגוריות שמתאימות לתרחיש השימוש שאתם בודקים, כמו הקטגוריה Audio לבדיקת פעולות Bluetooth או הקטגוריה Memory להקצאות של ערימות.

  5. אופציונלי: בוחרים באפשרות מעקבים ארוכים כדי להפעיל מעקבים שנשמרים באופן רציף באחסון המכשיר. באפשרות הזו, מגדירים מגבלות לגודל המקסימלי של מעקב ארוך ולמשך הזמן המקסימלי של מעקב ארוך.

  6. מפעילים את המתג Record trace (תיעוד של נתוני מעקב), שמודגש באיור 5. האריח מופעל ומופיעה התראה קבועה שמציינת שהמערכת מקליטה נתונים, כמו שמוצג באיור 3.

    איור 5. המתג Record trace (תיעוד עקבות) בהגדרות של System Tracing (תיעוד עקבות המערכת).
  7. מבצעים את הפעולות באפליקציה שרוצים שהמערכת תבדוק.

  8. כדי להפסיק את המעקב, משביתים את המתג Record trace (תיעוד המעקב).

    המערכת מציגה התראה חדשה שמכילה את ההודעה 'שמירת המעקב'. כשהשמירה מסתיימת, המערכת מסירה את ההתראה ומציגה התראה שלישית שמאשרת שהשמירה של נתוני המעקב הסתיימה ושאפשר לשתף את נתוני המעקב של המערכת, כמו שמוצג באיור 4.

שיתוף תיעוד עקבות המערכת

אפליקציית מעקב המערכת עוזרת לכם לשתף תוצאות של מעקב מערכת כחלק מכמה תהליכי עבודה שונים. במכשיר עם Android 10 (רמת API‏ 29) ומעלה, קובצי המעקב נשמרים עם סיומת שם הקובץ .perfetto-trace ואפשר לפתוח אותם בממשק המשתמש של Perfetto. במכשיר עם גרסה קודמת של Android, קובצי המעקב נשמרים עם סיומת שם הקובץ .ctrace, שמציינת את פורמט Systrace.

שיתוף כהודעה

הכלי 'מעקב מערכת' מאפשר לכם לשתף את המעקב שנאסף עם אפליקציות אחרות במכשיר. אתם יכולים לשלוח את הנתונים של ה-trace לצוות הפיתוח שלכם באמצעות אימייל או אפליקציה למעקב אחרי באגים, בלי שתצטרכו לחבר מכשיר למחשב הפיתוח.

אחרי שמקליטים את נתוני המערכת, מקישים על ההתראה שמופיעה במכשיר, כמו זו שמוצגת באיור 4. יופיע בורר הכוונות של הפלטפורמה, שמאפשר לכם לשתף את הנתונים באמצעות אפליקציית ההודעות שתבחרו.

שיתוף מתוך האפליקציה 'קבצים'

במכשירים עם Android 10 (רמת API‏ 29) ואילך, הנתונים מוצגים באפליקציית הקבצים. אפשר לשתף נתונים מהאפליקציה הזו.

הורדת דוח באמצעות ADB

אפשר גם לחלץ נתוני מעקב של המערכת ממכשיר באמצעות adb. מחברים את המכשיר שבו השתמשתם כדי להקליט את הנתונים למחשב הפיתוח, ואז מריצים את הפקודות הבאות בחלון הטרמינל:

cd /path-to-traces-on-my-dev-machine && \
  adb pull /data/local/traces/ .

המרת פורמטים של נתוני מעקב

אפשר להמיר קובצי מעקב של Perfetto לפורמט Systrace. מידע נוסף זמין במאמר בנושא המרת פורמטים של נתוני מעקב.

יצירת דוח HTML

כשמשתפים את הנתונים, הדוח עצמו נמצא בקובץ .perfetto-trace במכשירים עם Android 10 ומעלה, או בקובץ .ctrace בכל הגרסאות האחרות.

יוצרים דוח HTML מקובץ המעקב באמצעות ממשק משתמש מבוסס-אינטרנט או באמצעות שורת הפקודה.

ממשק משתמש מבוסס-אינטרנט

משתמשים ב-Perfetto UI כדי לפתוח את קובץ המעקב וליצור את הדוח.

כדי לפתוח קובץ Perfetto, לוחצים על Open trace file (פתיחת קובץ מעקב). לקובץ Systrace, לוחצים על פתיחה בממשק המשתמש הקודם. ממשק המשתמש מדור קודם נראה ומרגיש כמו דוח 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.