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 izleri toplar. İz, uygulamanızda zaman içindeki iki nokta arasında yakalanan performans verilerinin raporudur.

Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izleri, uygulamanız için ç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, özel ağ isteği izlerini manuel olarak ölçmek için Performance Monitoring API'yi kullanabilirsiniz. Özel ağ isteği izleri yalnızca Apple ve Android uygulamaları için desteklenir.

Özel ağ isteği izlemelerinin varsayılan metrikleri, Performance Monitoring tarafından otomatik olarak toplanan ağ isteği izlerinin (özellikle yanıt süresi, yanıt ve istek yükü boyutu ve başarı oranı) metrikleriyle aynıdır. Özel ağ istek izleri, özel metriklerin eklenmesini desteklemez.

Kodunuzda, Performance Monitoring SDK'sının sağladığı API'leri kullanarak özel ağ isteği izlemenin başlangıcını ve bitişini tanımlarsınız.

Özel ağ isteği izleri, Firebase konsolunda Performance Monitoring'in otomatik olarak yakaladığı ağ isteklerinin yanında görünür (izler tablosunun Ağ istekleri alt sekmesinde).

Özel ağ isteği izleri ekle

Belirli ağ isteklerini izlemek amacıyla özel ağ isteği izleri eklemek için Performance Monitoring HTTPMetric API'yi (Swift | Obj-C) kullanın.

Performance Monitoring'de özel ağ isteklerini manuel olarak belirlemek için aşağıdakine benzer bir kod ekleyin:

Swift

Not: Bu Firebase ürünü macOS, Mac Catalyst, 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, 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 izleri, özel metriklerin (Swift | Obj-C) eklenmesini de destekler ancak özel metriklerin eklenmesini desteklemez.

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ı için yanıt süresi, belirlediğiniz bir eşiği aşarsa ekibiniz için bir e-posta uyarısı yapılandırabilirsiniz.