Performance Monitoring, uygulamanızın performansını izlemenize yardımcı olmak için izler toplar. İz, uygulamanızda belirli iki zaman noktası arasında yakalanan performans verilerinin raporudur.
Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izleri, uygulamanızla ilgili çoğu ağ isteğini içerir. Ancak bazı istekler raporlanmayabilir veya ağ istekleri yapmak için farklı bir kitaplık kullanabilirsiniz. Bu gibi durumlarda, Performance Monitoring API'yi kullanarak özel ağ isteği izlemelerini manuel olarak oluşturabilirsiniz. Özel ağ isteği izleri yalnızca Apple ve Android uygulamalarında desteklenir.
Özel bir ağ isteği izlemesi için varsayılan metrikler, Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izlemeleriyle aynıdır. Özellikle tepki süresi, yanıt ve istek yükü boyutu ile başarı oranı. Özel ağ isteği izlemeleri, özel metrik eklemeyi desteklemez.
Kodunuzda, Performance Monitoring SDK'sının sağladığı API'leri kullanarak özel bir ağ isteği izinin başlangıcını ve bitişini tanımlarsınız.
Özel ağ isteği izleri, Firebase konsolunda Performance Monitoring tarafından otomatik olarak yakalanan ağ istekleriyle birlikte (izler tablosunun Ağ istekleri alt sekmesinde) gösterilir.
Özel ağ isteği izleri ekleme
Belirli ağ isteklerini izlemek için özel ağ isteği izlemeleri eklemek üzere Performance Monitoring HTTPMetric API'yi (Swift | Obj-C) kullanın.
Performance Monitoring içinde özel ağ isteklerini manuel olarak izlemek için aşağıdakine benzer bir kod ekleyin:
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];
}
Özel ağ isteği izlemeleri, özel metrikleri değil, özel özellikler eklemeyi de destekler (Swift | Obj-C) .
Sonraki adımlar
- Uygulamanızın performansını düşüren ağ istekleri için uyarılar ayarlayın. Örneğin, belirli bir URL kalıbının yanıt süresi, belirlediğiniz eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.