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


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

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

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

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

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

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

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

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

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

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

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

אפשר להשתמש ב-Performance MonitoringTrace 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. לוחצים על בכרטיס מדדים מאוכלס כדי להציג אפשרויות נוספות, למשל החלפה או הסרה של מדד.

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

מידע נוסף על השימוש במרכז השליטה.

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

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

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

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

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

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

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

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

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

השלבים הבאים

  • מידע נוסף על שימוש במאפיינים כדי לבחון את נתוני הביצועים.

  • מידע נוסף על מעקב אחר בעיות בביצועים במסוף Firebase

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

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