Check out what’s new from Firebase at Google I/O 2022. Learn more

Dodaj niestandardowe monitorowanie dla określonych żądań sieciowych (aplikacje Apple i Android)

+

Monitorowanie wydajności zbiera ślady , które pomogą Ci monitorować wydajność aplikacji. Ślad jest raport danych przechwyconych wydajności pomiędzy dwoma punktami w czasie w swojej aplikacji.

Na żądanie sieciowe ślady automatycznie zebrane przez monitorowania wydajności obejmują większość żądań sieciowe dla swojej aplikacji. Jednak niektóre wnioski nie mogą być zgłaszane lub można użyć innej biblioteki, aby żądania sieciowe. W takich przypadkach można użyć API do monitorowania wydajności ręcznie przyrząd niestandardowych żądanie sieciowe śladów . sieciowe zwyczaj żądania ślady są obsługiwane tylko przez Apple i Androida.

Domyślne dane na żądanie zwyczaj sieci śladu są takie same jak te dla żądania śladów sieciowych automatycznie zbierane przez monitorowanie wydajności, a konkretnie czas odpowiedzi, odpowiedzi i poprosić rozmiarze bloku, a sukces tempie. sieciowe zwyczaj żądania śladów nie obsługują dodawania niestandardowych danych.

W kodzie, można zdefiniować początek i koniec żądanie śladu zwyczaj sieciowym za pomocą API dostarczone przez Monitorowanie wydajności SDK.

Sieciowe zwyczaj żądania ślady pojawiają się w konsoli Firebase obok żądań sieciowych, które automatycznie przechwytuje Monitorowanie wydajności (w sieci będzie żądać podrzędną tabeli ślady).

Dodaj niestandardowy sieciowych żądania śladów

Użyj Monitorowanie wydajności HTTPMetric API ( Swift | Obj-C ), aby dodać niestandardowe żądania sieć ślady monitorować konkretne żądania sieciowe.

Aby ręcznie wniosków instrumentem zwyczaj sieciowych w monitorowaniu wydajności, code Dodaj podobny do następującego:

Szybki

Uwaga: Ten produkt nie jest dostępny Firebase na MacOS, Mac Catalyst, cele watchOS.
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()

Cel C

Uwaga: Ten produkt nie jest dostępny Firebase na MacOS, Mac Catalyst, cele watchOS.
@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];
}

Sieciowe zwyczaj żądania ślady również wspierać dodawanie niestandardowych atrybutów ( Swift | Obj-C ), ale nie niestandardowe dane.

Następne kroki

  • Skonfigurować alerty dotyczące zapytań sieciowych, które pogarszają wydajność aplikacji. Na przykład, można skonfigurować powiadomienia dla swojego zespołu, jeżeli czas reakcji dla wzoru określonego adresu URL przekracza próg, który można ustawić.