הוספת מעקב מותאם אישית לבקשות רשת ספציפיות (אפליקציות ל-Apple ול-Android)


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

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

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

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

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

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

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

כדי להוסיף באופן ידני בקשות לאחזור מהרשת בהתאמה אישית ב-Performance Monitoring, מוסיפים קוד שדומה לקוד הבא:

Kotlin

val url = URL("https://www.google.com")
val metric = Firebase.performance.newHttpMetric(
    "https://www.google.com",
    FirebasePerformance.HttpMethod.GET,
)
metric.trace {
    val conn = url.openConnection() as HttpURLConnection
    conn.doOutput = true
    conn.setRequestProperty("Content-Type", "application/json")
    try {
        val outputStream = DataOutputStream(conn.outputStream)
        outputStream.write(data)
    } catch (ignored: IOException) {
    }

    // Set HttpMetric attributes
    setRequestPayloadSize(data.size.toLong())
    setHttpResponseCode(conn.responseCode)

    printStreamContent(conn.inputStream)

    conn.disconnect()
}

Java

HttpMetric metric =
        FirebasePerformance.getInstance().newHttpMetric("https://www.google.com",
                FirebasePerformance.HttpMethod.GET);
final URL url = new URL("https://www.google.com");
metric.start();
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
try {
    DataOutputStream outputStream = new DataOutputStream(conn.getOutputStream());
    outputStream.write(data);
} catch (IOException ignored) {
}
metric.setRequestPayloadSize(data.length);
metric.setHttpResponseCode(conn.getResponseCode());
printStreamContent(conn.getInputStream());

conn.disconnect();
metric.stop();

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

השלבים הבאים

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