בדף הזה מוסבר איך לאחזר עקבות ולהציג אותן באופן חזותי בממשק המשתמש של Perfetto.
אחזור עקבות
אחרי שמקליטים פרופיל, העקבות נשמרים במכשיר. כדי לנתח את העקבות האלה, צריך לאחזר אותם.
מיקומי המעקב מסופקים על ידי ProfilingResult.getResultFilePath(). כאן מוסבר איך לצלם פרופיל כדי לקבל את מיקום העקבות. אחרי שמקבלים את המיקום של ה-trace, אפשר להעלות אותו לשרת.
בדיקה מקומית: אחזור עקבות באמצעות ADB
שימוש ב-adb כדי לקבל עקבות עוזר לבדוק את הביצועים ולבצע ניפוי באגים באופן מקומי.
עקבות של מידע שהוסר נשמרים בקבצים במכשיר. נתיב אופייני לפרופיל שנשמר הוא:
<code>/data/user/0/<var>\<app\></var>/files/profiling/profile_<var>\<tag\></var>_<var>\<datetime\></var>.perfetto-trace</code>
איפה:
-
<app>הוא שם האפליקציה. -
<datetime>הוא התאריך והשעה שבהם בוצע המעקב. -
<tag>הוא התג של הפרטים שהמשתמשים סיפקו, שהוגדר באמצעותsetTag
אם הפעלתם ושמרתם עקבות ללא צנזורה, תוכלו להשתמש בפקודה adb הבאה כדי לשלוף אותן מהמכשיר:
adb pull
/data/misc/perfetto-traces/profiling/<trace-name>.perfetto-trace-unredacted
הדמיה של עקבות
אחרי שמאחזרים את הנתונים למחשב, אפשר לצפות בהם בממשק המשתמש של Perfetto.
במעקב עם צנזורה, הקטע OtherProcesses משלב את כל פעילות המעבד מתהליכים אחרים. שילוב התהליכים שומר על הפרטיות של מה שהתהליכים האחרים עשו.
עם זאת, הצגת הפעילות המשולבת הזו של המעבד עדיין מאפשרת לכם לבדוק אם המערכת הייתה עמוסה מדי במהלך ההקלטה. בדיקת פעילות המערכת עוזרת להבין אם האפליקציה הייתה איטית בגלל בעיה פנימית או בגלל שהמערכת הייתה איטית באופן כללי.
בתמונה הבאה מודגשים החלקים העיקריים שיוצגו לכם ב-trace, ומופיע תיאור קצר שלהם:
- רשימת מעבדים: מוצגים כל המעבדים שזמינים במכשיר.
- משימות של המעבד: מראה אילו שרשורים כל מעבד ביצע.
- תצוגת תהליכים אחרים: מציגה את משאבי המעבד שנצרכו על ידי תהליכים אחרים.
- תצוגת תהליך: מציגה את התהליך של האפליקציה.
- תצוגת שרשורים: כאן מוצגים השרשורים שפועלים בתהליך ומצבי השרשורים שלהם (Runnable (R), Running (R), Sleeping (S), Uninterruptible Sleep (D)), שמתאימים ישירות למצבי התהליך ב-Linux.
- Trace slices: בקטע הזה מוצגות הערות של Trace שנוספו על ידי מפתחי האפליקציה או המסגרת. ההערות האלה כוללות חישובים בין
Trace.beginSectionלביןTrace.endSection.
מידע נוסף על ממשק המשתמש של Perfetto ועל הדמיה של נתוני מעקב זמין במסמכי התיעוד של Perfetto.