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

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

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

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

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

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

איך מתעדים באמצעות לחצן בהגדרות המהירות

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

הגדרת אריח

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

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

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

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

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

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

  1. מקישים על המשבצת מעקב מערכת עם התווית תיעוד מעקב. המשבצת תופעל ותופיע התראה קבועה על כך שהמערכת מתעדת נתיב, כפי שמוצג באיור 3:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

שיתוף כהודעה

בעזרת System Tracing תוכלו לשתף את הנתונים שנאספו עם אפליקציות אחרות במכשיר. אפשר לשלוח את המעקב לצוות הפיתוח באימייל או באפליקציה למעקב אחר באגים, בלי לחבר מכשיר למכונת הפיתוח.

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

שיתוף דרך אפליקציית Files

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

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

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