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


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

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

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

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

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

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

משתמשים ב-Performance Monitoring HTTPMetric API‏ (Swift‏ | Obj-C) כדי להוסיף מעקב מותאם אישית אחר בקשות רשת, כדי לעקוב אחרי בקשות רשת ספציפיות.

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

Swift

הערה: מוצר Firebase הזה לא זמין ביעדים של macOS,‏ Mac Catalyst ו-watchOS.
guard let metric = HTTPMetric(url: "https://www.google.com", httpMethod: .get) else { return }

metric.start()
guard let url = URL(string: "https://www.google.com") else { return }
let request: URLRequest = URLRequest(url:url)
let session = URLSession(configuration: .default)
let dataTask = session.dataTask(with: request) { (urlData, response, error) in
        if let httpResponse = response as? HTTPURLResponse {
         metric.responseCode = httpResponse.statusCode
        }
        metric.stop()
}
dataTask.resume()

Objective-C

הערה: מוצר Firebase הזה לא זמין ביעדי macOS, Mac Catalyst ו-watchOS.
@property (nonatomic) FIRHTTPMetric *metric;

- (void)beginManualNetworkInstrumentation {
  self.metric =
      [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com"]
                              HTTPMethod:FIRHTTPMethodGET];

  [self.metric start];

  NSURLRequest *request =
      [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]];
  NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
                                                                delegate:self];
  [connection resume];
}

- (void)connection:(NSURLConnection *)connection
    didReceiveResponse:(NSURLResponse *) response {
  NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response
  self.metric.responseCode = httpResponse.statusCode;
  [self.metric stop];
}

מעקבים בהתאמה אישית לבקשת רשת תומכים גם בהוספת מאפיינים מותאמים אישית (Swift | Obj-C) אבל לא מדדים מותאמים אישית.

השלבים הבאים

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