Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Benutzerdefinierte Überwachung für bestimmte Netzwerkanforderungen hinzufügen (iOS- und Android-Apps)

Performance sammelt Spuren überwachen, damit Sie die Leistung Ihrer App überwachen. Ein Trace ist ein Bericht mit Leistungsdaten, die zwischen zwei Zeitpunkten in Ihrer App erfasst wurden.

Die Netzwerkanforderung Spuren automatisch von Performance Monitoring gesammelt sind für Ihre Anwendung der meisten Netzwerkanforderungen. Einige Anforderungen werden jedoch möglicherweise nicht gemeldet oder Sie verwenden eine andere Bibliothek, um Netzwerkanforderungen zu stellen. In diesen Fällen können Sie die Performance - Monitoring - API manuell Instrument individueller Netzwerkanforderung Spuren verwenden. Benutzerdefinierte Netzwerkanforderungs-Traces werden nur für iOS- und Android-Apps unterstützt.

Die Standardmetriken für einen benutzerdefinierten Netzwerkanforderungs-Trace sind dieselben wie für die von der Leistungsüberwachung automatisch erfassten Netzwerkanforderungs-Traces, insbesondere Antwortzeit, Antwort- und Anforderungsnutzlastgröße und Erfolgsrate. Benutzerdefinierte Netzwerkanforderungs-Traces unterstützen das Hinzufügen von benutzerdefinierten Metriken nicht.

In Ihrem Code definieren Sie den Anfang und das Ende eines benutzerdefinierten Netzwerkanforderungs-Trace mithilfe der APIs, die vom Performance Monitoring SDK bereitgestellt werden.

Benutzerdefinierte Netzwerkanforderung Spuren erscheinen in der Konsole Firebase neben den Netzwerkanforderungen , dass Performance - Captures automatisch Monitoring (im Netzwerk anfordert Subreiter der Spuren Tabelle).

Benutzerdefinierte Netzwerkanforderungs-Traces hinzufügen

Verwenden Sie die Performance - Überwachung HTTPMetric API ( Swift | Obj-C ) kundenspezifische Netzwerkanforderung Spuren hinzufügen spezifische Netzwerkanforderungen zu überwachen.

Um benutzerdefinierte Netzwerkanforderungen in der Leistungsüberwachung manuell zu instrumentieren, fügen Sie Code ähnlich dem folgenden hinzu:

Schnell

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()

Ziel 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];
}

Benutzerdefinierte Netzwerkanfrage Spuren unterstützen auch das Hinzufügen von benutzerdefinierten Attributen ( Swift | Obj-C ) , aber keine benutzerdefinierten Metriken.