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


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

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

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

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

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