Belirli ağ istekleri için özel izleme ekleme (Apple ve Android uygulamaları)


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 gibi durumlarda, özel ağ isteği izlerini manuel olarak izlemek için Performance Monitoring API'yi kullanabilirsiniz. Özel ağ isteği izlemeleri 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

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
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

Not: Bu Firebase ürünü macOS, Mac Catalyst ve watchOS hedeflerinde kullanılamaz.
@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.