En savoir plus sur les données de performances des requêtes réseau HTTP/S (n'importe quelle application)

La surveillance des performances utilise des traces pour collecter des données sur les processus surveillés dans votre application. Une trace est un rapport contenant des données capturées entre deux moments dans votre application.

Pour tous les types d'applications, Performance Monitoring collecte automatiquement une trace pour chaque requête réseau émise par votre application, appelée trace de requête réseau HTTP/S . Ces traces collectent des métriques pour le temps écoulé entre le moment où votre application émet une demande à un point de terminaison de service et le moment où la réponse de ce point de terminaison est terminée. Pour tout point de terminaison auquel votre application envoie une requête, la surveillance des performances capture plusieurs métriques :

  • Temps de réponse – Délai entre le moment où la demande est faite et le moment où la réponse est entièrement reçue

  • Taille de la charge utile de la réponse : taille en octets de la charge utile du réseau téléchargée par l'application.

  • Taille de la charge utile de la demande : taille en octets de la charge utile du réseau téléchargée par l'application

  • Taux de réussite — Pourcentage de réponses réussies (codes de réponse compris entre 100 et 399) par rapport au total des réponses

Vous pouvez afficher les données de ces traces dans le sous-onglet Requêtes réseau du tableau des traces, qui se trouve au bas du tableau de bord Performances (en savoir plus sur l'utilisation de la console plus loin sur cette page).

L'analyse des performances collecte automatiquement les métriques pour les requêtes réseau qui utilisent les bibliothèques réseau suivantes :

Rapide

  • Session URL
  • URLConnexion

Objectif c

  • Session NSURL
  • NSURLConnexion

Personnaliser l'agrégation des données des requêtes réseau

Outre les outils prêts à l'emploi et l'agrégation de données pour les requêtes réseau, Performance Monitoring prend également en charge les options suivantes :

  • Instrumenter manuellement les traces de requêtes réseau : la surveillance prête à l'emploi inclut la plupart des requêtes réseau pour votre application. Cependant, certaines requêtes peuvent ne pas être signalées ou vous pouvez utiliser une autre bibliothèque pour effectuer des requêtes réseau. Dans ces cas, vous pouvez utiliser l'API Performance Monitoring pour instrumenter manuellement les traces de requêtes réseau personnalisées .
  • Regrouper les données sous des modèles d'URL personnalisés : si Firebase ne capture pas d'URL spécifiques avec sa correspondance automatique de modèles d'URL dérivée, vous pouvez créer des modèles d'URL personnalisés pour surveiller un ensemble spécifique d'URL au fil du temps.
  • Personnalisez la façon dont le taux de réussite est calculé : parfois, un code d'erreur est attendu pour certains points de terminaison de l'API ou est déjà géré dans votre application. Dans ces cas, vous pouvez configurer la manière dont le taux de réussite est calculé et surveiller plus précisément le taux de réussite des appels réseau de votre application.

Agrégation de données sous modèles d'URL

Firebase Performance Monitoring regroupe automatiquement les données de requêtes réseau similaires pour vous aider à comprendre les tendances des performances de vos requêtes réseau.

Pour chaque requête, Firebase vérifie si l'URL de la requête réseau correspond à un modèle d'URL. Si l'URL de la demande correspond à un modèle d'URL, Firebase regroupe automatiquement les données de la demande sous le modèle d'URL. Firebase affiche les modèles d'URL et leurs données agrégées dans l'onglet Réseau du tableau de bord Performances de la console Firebase.

Qu'est-ce qu'un modèle d'URL ?

Un modèle d'URL contient un domaine plus un modèle qui peut correspondre à un chemin d'URL, par exemple : example.com/*/animals/** .

  • Les modèles d'URL peuvent contenir les segments de chemin suivants :

    • texte brut : correspond à une chaîne exacte
    • * — correspond à n'importe quelle chaîne dans un segment de chemin unique
    • ** — correspond à un suffixe de chemin arbitraire
  • Les modèles d'URL peuvent être :

Par exemple : n'importe laquelle des requêtes d'URL suivantes peut correspondre au modèle d'URL example.com/*/animals/** .

  • example.com/singapore/animals
  • example.com/australia/animals/spiders
  • example.com/australia/animals/marsupials/koala.png

Le domaine d'un modèle d'URL peut également contenir * comme premier segment, par exemple : *.example.com/*/fruits/** .

Firebase mappe chaque requête à un seul modèle d'URL . Si vous avez configuré des modèles d'URL personnalisés , Firebase tente d'abord de faire correspondre les URL de requête à ces modèles. Si Firebase ne trouve aucun modèle d'URL personnalisé correspondant, il associe une URL de requête au modèle d'URL automatique le plus représentatif . Apprenez-en davantage sur les modèles d’URL automatiques et personnalisés dans les sections suivantes.

Modèles d'URL automatiques

Sans aucune configuration de votre part, la surveillance des performances tente de refléter le dernier comportement d'utilisation de votre application en faisant correspondre les requêtes de votre application aux modèles d'URL automatiques .

Comment fonctionne la correspondance automatique des modèles d'URL ?

Firebase associe chaque requête au modèle d'URL automatique le plus représentatif dérivé des requêtes envoyées par votre application. Notez cependant que Firebase tente d'abord de faire correspondre les URL de requête à tous les modèles d'URL personnalisés configurés.

Ce qui suit est un exemple de base de la manière dont Firebase tente de faire correspondre les requêtes au modèle d'URL automatique le plus représentatif de votre application.

  1. Votre application envoie de nombreuses requêtes à des URL telles que :

    • example.com/germany/animals/bears
    • example.com/germany/animals/birds
    • example.com/germany/cars

    Firebase détermine que example.com/germany/** est un modèle de requête courant pour votre application et l'ajoute en tant que modèle d'URL automatique dans votre projet.

    Pour toute nouvelle requête correspondant à ce modèle d'URL, Firebase regroupe les données des requêtes sous le modèle d'URL automatique example.com/germany/** .

  2. Au bout d'une semaine, la majorité des requêtes de votre application sont adressées à example.com/germany/animals/bears et example.com/germany/animals/birds . Ainsi, Firebase dérive un modèle d'URL plus représentatif de example.com/germany/animals/** .

    Pour toute nouvelle requête correspondant à ce nouveau modèle d'URL, Firebase regroupe les données des requêtes uniquement sous le nouveau modèle d'URL. Firebase continue de regrouper les données pour les requêtes adressées à example.com/germany/cars sous example.com/germany/** .

  3. Cependant, au cours des prochaines semaines, les requêtes de votre application vers example.com/germany/animals/bears et example.com/germany/animals/birds diminueront considérablement. Firebase détermine que example.com/germany/animals/** n'est pas représentatif du dernier comportement d'utilisation de votre application. Firebase commence donc à faire correspondre ces deux requêtes à example.com/germany/** .

    Firebase ne regroupe aucune autre donnée de demande sous example.com/germany/animals/** , car il ne s'agit plus du modèle d'URL automatique le plus représentatif.

La correspondance automatique des modèles d'URL étant dynamique, tenez compte des points suivants :

  • Les correspondances et les données agrégées des requêtes précédentes ne sont pas affectées par les nouveaux modèles d'URL. Firebase ne réagrège pas rétroactivement les données de demande.

  • Seules les demandes futures sont affectées par les nouveaux modèles d'URL. Firebase mappe chaque nouvelle requête au modèle d'URL automatique le plus représentatif. Notez cependant que Firebase tente d'abord de faire correspondre les URL de requête à tous les modèles d'URL personnalisés configurés.

Afficher les modèles d'URL automatiques et leurs données

Firebase affiche tous les modèles d'URL et leurs données agrégées dans le sous-onglet Requêtes réseau du tableau des traces, qui se trouve au bas du tableau de bord Performances de la console Firebase.

Vous verrez peut-être des modèles d'URL avec une étiquette Non classé . Il s'agit de modèles d'URL automatiques « larges » sous lesquels Firebase peut regrouper des données pour les requêtes qui ne correspondent à aucun modèle d'URL plus spécifique.

Lorsque la période de conservation des données prend fin pour les données agrégées sous un modèle d'URL, Firebase supprime ces données du modèle d'URL. Si toutes les données agrégées sous un modèle d'URL automatique expirent, Firebase supprime ce modèle d'URL de la console Firebase.

Modèles d'URL personnalisés

Vous pouvez créer des modèles d'URL personnalisés pour surveiller des modèles d'URL spécifiques que Firebase ne capture pas avec sa correspondance automatique de modèles d'URL dérivée. Par exemple, vous pouvez utiliser un modèle d'URL personnalisé pour dépanner une URL spécifique ou pour surveiller un ensemble spécifique d'URL au fil du temps.

Consultez Créer des modèles d'URL personnalisés pour en savoir plus.

Suivre, afficher et filtrer les données de performances

Pour afficher les données de performances en temps réel, assurez-vous que votre application utilise une version du SDK Performance Monitoring compatible avec le traitement des données en temps réel. En savoir plus sur les données de performances en temps réel .

Suivez des métriques spécifiques dans votre tableau de bord

Pour connaître l'évolution de vos indicateurs clés, ajoutez-les à votre tableau de indicateurs en haut du tableau de bord Performance . Vous pouvez identifier rapidement les régressions en observant les changements d'une semaine à l'autre ou vérifier que les modifications récentes apportées à votre code améliorent les performances.

une image du tableau de métriques dans le tableau de bord Firebase Performance Monitoring

Pour ajouter une métrique à votre tableau de métriques, procédez comme suit :

  1. Accédez au tableau de bord Performances dans la console Firebase.
  2. Cliquez sur une fiche de métrique vide, puis sélectionnez une métrique existante à ajouter à votre tableau.
  3. Cliquez sur sur une fiche de métrique remplie pour plus d'options, par exemple pour remplacer ou supprimer une métrique.

Le tableau des métriques affiche les données métriques collectées au fil du temps, à la fois sous forme graphique et sous forme de variation numérique en pourcentage.

En savoir plus sur l'utilisation du tableau de bord .

Afficher les traces et leurs données

Pour afficher vos traces, accédez au tableau de bord Performances dans la console Firebase, faites défiler jusqu'au tableau des traces, puis cliquez sur le sous-onglet approprié. Le tableau affiche certaines des principales mesures pour chaque trace, et vous pouvez même trier la liste en fonction du pourcentage de variation pour une mesure spécifique.

La surveillance des performances fournit une page de dépannage dans la console Firebase qui met en évidence les changements de métriques, ce qui facilite la résolution rapide et la minimisation de l'impact des problèmes de performances sur vos applications et vos utilisateurs. Vous pouvez utiliser la page de dépannage lorsque vous découvrez des problèmes de performances potentiels, par exemple dans les scénarios suivants :

  • Vous sélectionnez des métriques pertinentes sur le tableau de bord et vous remarquez un gros delta.
  • Dans le tableau des traces, vous effectuez un tri pour afficher les deltas les plus importants en haut et vous constatez une variation significative en pourcentage.
  • Vous recevez une alerte par e-mail vous informant d'un problème de performances.

Vous pouvez accéder à la page de dépannage des manières suivantes :

  • Sur le tableau de bord des métriques, cliquez sur le bouton Afficher les détails de la métrique .
  • Sur n'importe quelle carte métrique, sélectionnez => Afficher les détails . La page de dépannage affiche des informations sur la métrique que vous avez sélectionnée.
  • Dans le tableau des traces, cliquez sur un nom de trace ou sur n'importe quelle valeur de mesure dans la ligne associée à cette trace.
  • Dans une alerte par e-mail, cliquez sur Enquêter maintenant .

Lorsque vous cliquez sur un nom de trace dans le tableau des traces, vous pouvez ensuite accéder aux métriques qui vous intéressent. Clique le Bouton un filtre pour filtrer les données par attribut, par exemple :

une image des données Firebase Performance Monitoring filtrées par attribut
  • Filtrer par version de l'application pour afficher les données sur une version précédente ou votre dernière version
  • Filtrer par appareil pour savoir comment les anciens appareils gèrent votre application
  • Filtrez par pays pour vous assurer que l'emplacement de votre base de données n'affecte pas une région spécifique

En savoir plus sur l'affichage des données de vos traces .

Prochaines étapes

  • Apprenez-en davantage sur l’utilisation des attributs pour examiner les données de performances.

  • Découvrez comment suivre les problèmes de performances dans la console Firebase.

  • Configurez des alertes pour les requêtes réseau qui 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 modèle d'URL spécifique dépasse un seuil que vous avez défini.

  • Affichez des rapports détaillés des sessions utilisateur dans lesquels vous pouvez voir une trace spécifique dans un contexte chronologique d'autres traces collectées au cours de la même session.