הוספת מעקב מותאם אישית לקוד של אפליקציה ספציפית


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

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

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

בקוד, מגדירים את ההתחלה והסיום של מעקב קוד בהתאמה אישית באמצעות ממשקי ה-API שסופקו על ידי Performance Monitoring SDK. באפליקציות ל-Android, אפשר גם לעקוב אחרי שיטות ספציפיות באמצעות הערה @AddTrace. אפשר להתחיל מעקב אחר קוד בהתאמה אישית בכל שלב אחרי היצירה שלו, והוא בטוח לשימוש בכמה שרשורים בו-זמנית.

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

אפשר להציג נתונים מהמעקבים האלה בכרטיסייה המשנית Custom traces (מעקבים מותאמים אישית) בטבלת המעקבים, שנמצאת בתחתית לוח הבקרה Performance (מידע נוסף על השימוש במסוף מופיע בהמשך הדף).

מאפייני ברירת מחדל, מאפיינים מותאמים אישית ומדדים מותאמים אישית

במעקבים של קוד בהתאמה אישית, Performance Monitoring מתעד באופן אוטומטי מאפייני ברירת מחדל (מטא-נתונים נפוצים כמו גרסת האפליקציה, המדינה, המכשיר וכו') כדי שתוכלו לסנן את הנתונים של המעקב במסוף Firebase. אפשר גם להוסיף ולעקוב אחרי מאפיינים מותאמים אישית (כמו רמת המשחק או מאפייני משתמשים).

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

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

הוספת מעקב אחר קוד בהתאמה אישית

אפשר להשתמש ב-Performance Monitoring Trace API כדי להוסיף מעקב אחר קודים מותאמים אישית כדי לעקוב אחרי קוד ספציפי של אפליקציה.

שימו לב לנקודות הבאות:

  • לאפליקציה יכולים להיות כמה מעקבים של קוד בהתאמה אישית.
  • אפשר להריץ בו-זמנית כמה מעקבים של קוד בהתאמה אישית.
  • השמות של מעקבים אחרי קוד בהתאמה אישית חייבים לעמוד בדרישות הבאות: אסור לכלול רווחים בתחילת השם או בסוף השם, אסור לכלול קו תחתון (_) בתחילת השם, והאורך המקסימלי של השם הוא 100 תווים.
  • במעקב אחר קוד מותאם אישית אפשר להוסיף מדדים מותאמים אישית ומאפיינים מותאמים אישית.

כדי להתחיל ולעצור מעקב אחר קוד בהתאמה אישית, צריך לעטוף את הקוד שרוצים לעקוב אחריו בשורות קוד דומות לקוד הבא (בדוגמה הזו נעשה שימוש בשם מעקב מותאם אישית בשם test_trace):

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

(אופציונלי) מעקב אחר שיטות ספציפיות באמצעות @AddTrace

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

לדוגמה, אפשר ליצור מעקב קוד מותאם אישית בשם onCreateTrace שפועל כשמתבצעת קריאה ל-method onCreate().

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
// the `enabled` argument is optional and defaults to true
@AddTrace(name = "onCreateTrace", enabled = true)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

הוספת מדדים מותאמים אישית למעקב אחר קוד מותאם אישית

אפשר להשתמש ב-Performance Monitoring Trace API כדי להוסיף מדדים מותאמים אישית למעקב אחר קוד מותאם אישית.

שימו לב לנקודות הבאות:

  • השמות של המדדים המותאמים אישית חייבים לעמוד בדרישות הבאות: אסור לכלול רווחים בתחילת השם או בסוף השם, אסור לכלול קו תחתון (_) בתחילת השם, והאורך המקסימלי הוא 100 תווים.
  • כל מעקב אחר קוד מותאם אישית יכול לתעד עד 32 מדדים (כולל מדד ברירת המחדל משך זמן).

כדי להוסיף מדד מותאם אישית, מוסיפים שורת קוד דומה לשורה הבאה בכל פעם שהאירוע מתרחש. לדוגמה, המדד המותאם אישית הזה סופר אירועים שקשורים לביצועים שמתרחשים באפליקציה, כמו היטים ומפספסים במטמון (באמצעות שמות אירועים לדוגמה של item_cache_hit ו-item_cache_miss ועודף של 1).

Kotlin+KTX

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

יצירת מאפיינים מותאמים אישית למעקב אחר קוד בהתאמה אישית

משתמשים ב-Performance Monitoring Trace API כדי להוסיף מאפיינים מותאמים אישית למעקב אחר קוד מותאם אישית.

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

שימו לב לנקודות הבאות:

  • השמות של המאפיינים המותאמים אישית צריכים לעמוד בדרישות הבאות:

    • בלי רווחים לבנים בתחילת השורה או בסופה, בלי קו תחתון מוביל (_)
    • אין רווחים
    • האורך המקסימלי הוא 32 תווים
    • התווים המותרים בשם הם A-Z, ‏a-z ו-_.
  • כל מעקב אחר קוד בהתאמה אישית יכול לתעד עד 5 מאפיינים מותאמים אישית.

  • חשוב לוודא שהמאפיינים המותאמים אישית לא מכילים מידע שיכול לזהות אדם פרטי בפני Google.

    מידע נוסף על ההנחיה הזו

Kotlin+KTX

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

Java

Trace trace = FirebasePerformance.getInstance().newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String experimentValue = trace.getAttribute("experiment");

// Delete scenario.
trace.removeAttribute("experiment");

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

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

מעקב אחר מדדים ספציפיים בלוח הבקרה

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

תמונה של לוח המדדים בקטע <span class=מרכז הבקרה של מעקב הביצועים ב-Firebase" />

כדי להוסיף מדד ללוח המדדים:

  1. נכנסים ללוח הבקרה Performance במסוף Firebase.
  2. לוחצים על כרטיס מדד ריק ובוחרים מדד קיים להוספה ללוח.
  3. לוחצים על בכרטיס מדדים מאוכלס כדי להציג אפשרויות נוספות, למשל החלפה או הסרה של מדד.

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

איך משתמשים במרכז הבקרה

הצגת נתוני המעקב והנתונים שלהם

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

ב-Performance Monitoring יש דף פתרון בעיות במסוף Firebase שמציג שינויים במדדים, כך שקל לטפל במהירות בבעיות בביצועים ולצמצם את ההשפעה שלהן על האפליקציות והמשתמשים. אפשר להשתמש בדף פתרון הבעיות כשמתגלות בעיות פוטנציאליות בביצועים, למשל בתרחישים הבאים:

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

אפשר לגשת לדף פתרון הבעיות בדרכים הבאות:

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

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

תמונה של <span class=נתוני מעקב אחר ביצועים ב-Firebase שמסוננים לפי מאפיין" />
  • סינון לפי גרסת האפליקציה כדי להציג נתונים לגבי גרסה קודמת או לגבי הגרסה האחרונה להפצה
  • סינון לפי מכשיר כדי לבדוק איך המכשירים הישנים מטפלים באפליקציה
  • סינון לפי מדינה כדי לוודא שמיקום מסד הנתונים לא משפיע על אזור ספציפי

מידע נוסף על הצגת נתונים של שרטוטים

השלבים הבאים

  • הצגת דוחות מפורטים של סשנים של משתמשים שבהם אפשר לראות נתיב ספציפי בהקשר של ציר זמן של נתיבים אחרים שנאספו במהלך אותו סשן.