Catch up on everthing we announced at this year's Firebase Summit. Learn more

Benutzerdefinierte Überwachung für bestimmte Netzwerkanforderungen hinzufügen (Apple- 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 Apple- 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 benutzerdefinierter 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

Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
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

Hinweis: Dieses Produkt Firebase ist nicht auf macOS, Mac Catalyst watchOS Ziele.
@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.