Performance Monitoring אוסף עקבות כדי לעזור לכם לעקוב אחרי הביצועים של האפליקציה. עקבה היא דוח של נתוני ביצועים שנאספו בין שתי נקודות זמן באפליקציה.
המעקב אחר בקשות לאחזור מהרשת שנאסף אוטומטית על ידי Performance Monitoring כולל את רוב הבקשות לאחזור מהרשת של האפליקציה. עם זאת, יכול להיות שבקשות מסוימות לא ידווחו, או שתשתמשו בספרייה אחרת כדי לשלוח בקשות לאחזור מהרשת. במקרים כאלה, אפשר להשתמש ב-Performance Monitoring API כדי לבצע אינסטרומנטציה באופן ידני מעקב אחר בקשות לאחזור מהרשת בהתאמה אישית. אפשר להשתמש בנתוני מעקב של בקשות לאחזור מהרשת רק באפליקציות ל-Apple ולאפליקציות ל-Android.
מדדי ברירת המחדל למעקב אחר בקשה לאחזור מהרשת מותאמת אישית זהים למדדים של מעקב אחר בקשות לאחזור מהרשת שנאספים באופן אוטומטי על ידי Performance Monitoring, כלומר זמן התגובה, גודל מטען ייעודי (payload) של התגובה והבקשה ושיעור ההצלחה. מעקב אחרי בקשות לאחזור מהרשת בהתאמה אישית לא תומך בהוספת מדדים מותאמים אישית.
בתוך הקוד, מגדירים את ההתחלה והסוף של מעקב אחר בקשה לאחזור מהרשת בהתאמה אישית באמצעות ממשקי ה-API שזמינים ב-Performance Monitoring SDK.
עקבות של בקשות לאחזור מהרשת מותאמות אישית מופיעות במסוף Firebase לצד הבקשות לאחזור מהרשת ש-Performance Monitoring מתעד באופן אוטומטי (בכרטיסיית המשנה בקשות לאחזור מהרשת בטבלת העקבות).
הוספה של עקבות מותאמות אישית של בקשות לאחזור מהרשת
משתמשים ב-Performance Monitoring HTTPMetric API (Swift|Obj-C) כדי להוסיף נתוני מעקב מותאמים אישית של בקשות לאחזור מהרשת, כדי לעקוב אחרי בקשות לאחזור מהרשת ספציפיות.
כדי להטמיע באופן ידני בקשות מותאמות אישית לרשת ב-Performance Monitoring, מוסיפים קוד שדומה לקוד הבא:
Swift
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
@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 חורג מסף שהגדרתם.