Performance Monitoring collecte des traces pour vous aider à surveiller les performances de votre appli. A une trace est un rapport sur les données de performances capturées entre deux moments au cours votre application.
La des traces de requête réseau collectées automatiquement par Performance Monitoring d'inclure la plupart des requêtes réseau pour votre appli. Cependant, il est possible que certaines requêtes ou vous pouvez utiliser une autre bibliothèque pour effectuer des requêtes réseau. Dans ces vous pouvez utiliser l'API Performance Monitoring pour instrumenter manuellement traces de requêtes réseau personnalisées. Les traces de requête réseau personnalisées ne sont compatible avec les applications Apple et Android.
Les métriques par défaut pour une trace de requête réseau personnalisée sont identiques à celles d'une les traces de requête réseau collectées automatiquement par Performance Monitoring, notamment le temps de réponse, la taille de la charge utile des requêtes et des réponses, ainsi que le taux de réussite. Personnalisée Les traces de requête réseau ne permettent pas d'ajouter des métriques personnalisées.
Dans votre code, vous définissez le début et la fin d'une requête réseau personnalisée. trace à l'aide des API fournies par le SDK Performance Monitoring.
Les traces de requêtes réseau personnalisées s'affichent dans la console Firebase, à côté des requêtes réseau que Performance Monitoring capture automatiquement (dans le sous-onglet Requêtes réseau du tableau des traces).
Ajouter des traces de requêtes réseau personnalisées
Utiliser l'API HTTPMetric Performance Monitoring (Swift | Obj-C) pour ajouter des traces de requête réseau personnalisées afin de surveiller des requêtes réseau spécifiques.
Pour instrumenter manuellement les requêtes réseau personnalisées dans Performance Monitoring, ajoutez un code similaire comme suit:
Swift
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
@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];
}
Les traces de requête réseau personnalisées prennent également en charge l'ajout d'attributs personnalisés (Swift | Obj-C) mais pas de métriques personnalisées.
Étapes suivantes
- Configurer des alertes pour les requêtes réseau qui se dégradent les performances de votre application. Par exemple, vous pouvez configurer une alerte par e-mail pour votre équipe si le temps de réponse pour un format d'URL spécifique dépasse que vous avez défini.