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

מכשירים עם 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. התראה קבועה שמופיעה אחרי שהמערכת מסיימת לשמור את נתוני העקבות שהוקלטו.

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

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

כדי להקליט נתוני מעקב של המערכת באמצעות התפריט של אפליקציית 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.

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

אפליקציית System Tracing (מעקב אחר המערכת) עוזרת לכם לשתף תוצאות של מעקב אחר המערכת כחלק מכמה תהליכי עבודה שונים. במכשיר שמותקנת בו מערכת 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.