Performance Monitoring, uygulamanızın performansını izlemenize yardımcı olmak için izleme toplar. İzleme, uygulamanızdaki iki zaman noktası arasında yakalanan performans verilerinin bir 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ğ isteği göndermek için farklı bir kitaplık kullanıyor olabilirsiniz. Bu durumlarda, Performance Monitoring API'yi kullanarak özel ağ istek izlerini manuel olarak enstrümante edebilirsiniz. Özel ağ isteği izleri yalnızca Apple ve Android uygulamaları için desteklenir.
Özel ağ isteği izlemesi için varsayılan metrikler, Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izlemelerinin metrikleriyle (özellikle yanıt süresi, yanıt ve istek yükü boyutu ve başarı oranı) aynıdır. Özel ağ isteği izlemeleri, özel metrik eklemeyi desteklemez.
Kodunuzda, Performance Monitoring SDK'sı tarafından sağlanan API'leri kullanarak özel ağ isteği izinin başlangıç ve bitişini tanımlarsınız.
Özel ağ isteği izleri, Performance Monitoring'ın otomatik olarak yakaladığı ağ isteklerinin yanında Firebase konsolunda görünür (izlemeler tablosunun Ağ istekleri alt sekmesinde).
Ö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'te özel ağ isteklerini manuel olarak enstrümante etmek 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 ancak özel özellikleri (Swift | Obj-C) eklemeyi de destekler.
Sonraki adımlar
- Uygulamanızın performansını düşüren ağ istekleri için uyarılar oluşturun. Örneğin, belirli bir URL kalıbının tepki süresi, belirlediğiniz bir eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.