Cette page fournit des conseils de dépannage pour démarrer avec la surveillance des performances ou utiliser les fonctionnalités et les outils de surveillance des performances.
Premières vérifications pour le dépannage
Les deux vérifications suivantes sont les meilleures pratiques générales recommandées à tous avant de poursuivre le dépannage.
1. Vérifiez les messages du journal pour les événements de performance
Vérifiez vos messages de journal pour vous assurer que le SDK de surveillance des performances capture les événements de performances.
Activez la journalisation de débogage, comme suit :
- Dans Xcode (minimum v14.1), sélectionnez Product > Scheme > Edit scheme .
- Sélectionnez Exécuter dans le menu de gauche, puis sélectionnez l'onglet Arguments .
- Dans la section Arguments transmis au lancement , ajoutez
-FIRDebugEnabled
.
Vérifiez vos messages de journal pour tout message d'erreur.
La surveillance des performances marque ses messages de journal avec
Firebase/Performance
afin que vous puissiez filtrer vos messages de journal.Recherchez les types de journaux suivants qui indiquent que la surveillance des performances consigne les événements de performances :
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
Cliquez sur l'URL pour afficher vos données dans la console Firebase. La mise à jour des données dans le tableau de bord peut prendre quelques instants.
Si votre application n'enregistre pas les événements de performance, consultez les conseils de dépannage .
2. Vérifiez le tableau de bord d'état de Firebase
Vérifiez le tableau de bord d'état de Firebase en cas de panne connue pour Firebase ou pour la surveillance des performances.
Premiers pas avec la surveillance des performances
Si vous débutez avec la surveillance des performances ( iOS+ | Android | Web ), les conseils de dépannage suivants peuvent vous aider à résoudre les problèmes impliquant la détection du SDK par Firebase ou l'affichage de vos premières données de performances dans la console Firebase.
Firebase peut détecter si vous avez correctement ajouté le SDK de surveillance des performances à votre application lorsqu'il reçoit des informations sur les événements (comme les interactions avec l'application) de votre application. Généralement dans les 10 minutes suivant le démarrage de votre application, le tableau de bord des performances de la console Firebase affiche un message "SDK détecté". Puis, dans les 30 minutes, le tableau de bord affiche les données traitées initiales.
Si plus de 10 minutes se sont écoulées depuis que vous avez ajouté la dernière version du SDK à votre application et que vous ne voyez toujours aucun changement, consultez vos messages de journal pour vous assurer que la surveillance des performances enregistre les événements. Essayez les étapes de dépannage appropriées décrites ci-dessous pour résoudre un message de détection retardée du SDK.
Si vous développez encore localement, essayez de générer plus d'événements pour la collecte de données :
Continuez à développer votre application à l'aide d'un simulateur ou d'un appareil de test.
Générez des événements en basculant plusieurs fois votre application entre l'arrière-plan et le premier plan, en interagissant avec votre application en naviguant sur les écrans et/ou en déclenchant des requêtes réseau.
Assurez-vous que votre fichier de configuration Firebase (
Google-Service-Info.plist
) est correctement ajouté à votre application et que vous n'avez pas modifié le fichier. Plus précisément, vérifiez les points suivants :Le nom du fichier de configuration n'est pas ajouté avec des caractères supplémentaires, comme
(2)
.Le fichier de configuration se trouve à la racine de votre projet XCode et ajouté aux bonnes cibles.
L'ID d'application Apple Firebase (
GOOGLE_APP_ID
) répertorié dans le fichier de configuration est correct pour votre application. Recherchez votre ID d'application Firebase dans la fiche Vos applications de vos Paramètres du projet .
Si quelque chose ne va pas avec le fichier de configuration de votre application, essayez ce qui suit :
Supprimez le fichier de configuration que vous avez actuellement dans votre application.
Suivez ces instructions pour télécharger un nouveau fichier de configuration et l'ajouter à votre application Apple.
Si le SDK enregistre les événements et que tout semble être configuré correctement, mais que vous ne voyez toujours pas le message de détection du SDK ou les données traitées (après 2 heures), contactez l'assistance Firebase .
Assurez-vous que le SDK de surveillance des performances n'est pas désactivé via l'un des indicateurs suivants dans votre fichier
Info.plist
:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
Assurez-vous que la surveillance des performances n'est pas désactivée au moment de l'exécution ( Swift | Obj-C ).
Si vous ne trouvez aucun élément désactivé dans votre application, contactez l'assistance Firebase .
La surveillance des performances traite les données d'événement de performances avant de les afficher dans le tableau de bord des performances .
Si plus de 24 heures se sont écoulées depuis l'apparition du message "SDK détecté" et que vous ne voyez toujours pas de données, consultez le tableau de bord d'état Firebase en cas de panne connue. S'il n'y a pas de panne, contactez l'assistance Firebase .
Dépannage général
Si vous avez ajouté le SDK avec succès et que vous utilisez la surveillance des performances dans votre application, les conseils de dépannage suivants peuvent vous aider à résoudre les problèmes généraux impliquant les fonctionnalités et les outils de surveillance des performances.
Si vous ne voyez pas de messages de journal pour les événements de performances , essayez les étapes de dépannage suivantes :
Assurez-vous que le SDK de surveillance des performances n'est pas désactivé via l'un des indicateurs suivants dans votre fichier
Info.plist
:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
Assurez-vous que la surveillance des performances n'est pas désactivée au moment de l'exécution ( Swift | Obj-C ).
Si vous ne trouvez aucun élément désactivé dans votre application, contactez l'assistance Firebase .
S'il vous manque des données pour les traces de rendu d'écran, essayez les étapes de dépannage suivantes :
Voyez-vous des données de performances pour les traces collectées automatiquement , mais pas pour les traces de code personnalisé ? Essayez les étapes de dépannage suivantes :
Vérifiez la configuration des traces de code personnalisées instrumentées via l' API Trace , en particulier les éléments suivants :
- Les noms des traces de code personnalisées et des métriques personnalisées doivent répondre aux exigences suivantes : pas d'espace blanc au début ou à la fin, pas de trait de soulignement (
_
) au début et la longueur maximale est de 32 caractères. - Toutes les traces doivent être démarrées et arrêtées. Toute trace non démarrée, non arrêtée ou arrêtée avant le démarrage ne sera pas consignée.
- Les noms des traces de code personnalisées et des métriques personnalisées doivent répondre aux exigences suivantes : pas d'espace blanc au début ou à la fin, pas de trait de soulignement (
Vérifiez vos messages de journal pour vous assurer que la surveillance des performances enregistre les traces de code personnalisé attendues.
Si la surveillance des performances enregistre les événements, mais qu'aucune donnée ne s'affiche après 24 heures, contactez l'assistance Firebase .
S'il vous manque des données de demande de réseau, essayez les étapes de dépannage suivantes :
Vérifiez l'incompatibilité de la bibliothèque réseau. La surveillance des performances collecte automatiquement les métriques pour les requêtes réseau qui utilisent les bibliothèques réseau suivantes :
- Pour Swift : URLSession et URLConnection
- Pour Objective-C : NSURLSession et NSURLConnection
Notez que vous pouvez ajouter une surveillance personnalisée pour les requêtes réseau .
Soyez conscient de ce qui suit :
En fonction du comportement de votre code et des bibliothèques de mise en réseau utilisées par votre code, la surveillance des performances peut uniquement générer des rapports sur les requêtes réseau qui sont terminées. Cela signifie que les connexions HTTP/S qui restent ouvertes peuvent ne pas être signalées.
La surveillance des performances ne signale pas les demandes réseau avec des en-têtes
Content-Type
non valides. Cependant, les requêtes réseau sans les en-têtesContent-Type
seront toujours acceptées.
En savoir plus sur la façon dont la surveillance des performances agrège les données des requêtes réseau sous des modèles d'URL.
Vous pouvez également essayer des modèles d'URL personnalisés !
FAQ
Nous avons remplacé les problèmes les plus fréquents par des alertes récentes dans le prolongement de notre récente introduction des alertes, qui vous avertissent automatiquement lorsque les seuils que vous avez définis sont franchis. Les problèmes sont désormais obsolètes et remplacés par des alertes.
Le sélecteur d'applications en haut de la fiche Performances filtre les entrées d'alerte sous Alertes récentes . Seules les trois alertes les plus récentes pour les applications sélectionnées sont affichées.
Pour en savoir plus sur les alertes, voir Configurer des alertes pour les problèmes de performances .
La surveillance des performances prend en charge les alertes pour les métriques qui dépassent les seuils définis. Pour éviter toute confusion avec ces seuils configurables pour les mesures de performances, nous avons supprimé la possibilité de configurer des seuils pour les problèmes .
Nous avons remplacé les pages Détails et Métriques par une nouvelle interface utilisateur centralisée et repensée pour améliorer la façon dont vous résolvez les problèmes. Cette nouvelle interface utilisateur de dépannage offre les mêmes fonctionnalités de base que celles proposées par Détails et Métriques. Pour en savoir plus sur le dépannage, consultez Afficher plus de données pour une trace spécifique .
La surveillance des performances collecte les données de performances des appareils utilisateur de votre application. Si votre application compte de nombreux utilisateurs ou si l'application génère une grande quantité d'activités de performances, la surveillance des performances peut limiter la collecte de données à un sous-ensemble d'appareils afin de réduire le nombre d'événements traités. Ces limites sont suffisamment élevées pour que, même avec moins d'événements, les valeurs de métrique soient toujours représentatives de l'expérience de l'application de votre utilisateur.
Pour gérer le volume de données que nous collectons, Performance Monitoring utilise les options d'échantillonnage suivantes :
Limitation du débit sur l'appareil : pour empêcher un appareil d'envoyer des rafales soudaines de traces, nous limitons le nombre de traces de code et de demande réseau envoyées depuis un appareil à 300 événements toutes les 10 minutes. Cette approche protège l'appareil des instrumentations en boucle qui peuvent envoyer de grandes quantités de données de performances et empêche qu'un seul appareil fausse les mesures de performances.
Échantillonnage dynamique : la surveillance des performances collecte environ 100 millions d'événements pour les traces de code et 100 millions pour les traces de demande réseau par application pour tous les utilisateurs de l'application. Un taux d'échantillonnage dynamique est récupéré sur les appareils (à l'aide de Firebase Remote Config) pour déterminer si un appareil aléatoire doit capturer et envoyer des traces. Un appareil qui n'est pas sélectionné pour l'échantillonnage n'envoie aucun événement. Le taux d'échantillonnage dynamique est spécifique à l'application et s'ajuste pour garantir que le volume global de données collectées reste inférieur à la limite.
Les sessions utilisateur envoient des données détaillées supplémentaires à partir de l'appareil d'un utilisateur, ce qui nécessite davantage de ressources pour capturer et envoyer les données. Pour minimiser l'impact des sessions utilisateur, la surveillance des performances peut également restreindre le nombre de sessions.
Limitation du débit côté serveur : pour s'assurer que les applications ne dépassent pas la limite d'échantillonnage, la surveillance des performances peut utiliser l'échantillonnage côté serveur pour supprimer certains événements reçus des appareils. Bien que ce type de limitation ne modifie pas l'efficacité de nos statistiques, il peut entraîner des modifications mineures des modèles, notamment :
- Le nombre de traces peut différer du nombre de fois qu'un morceau de code a été exécuté.
- Les traces qui sont étroitement couplées dans le code peuvent chacune avoir un nombre différent d'échantillons.
Nous avons remplacé l'onglet Problèmes par l'introduction d'Alertes, qui vous avertit automatiquement lorsque les seuils que vous avez définis sont dépassés. Vous n'avez plus besoin de vérifier manuellement la console Firebase pour déterminer l'état d'un seuil. Pour en savoir plus sur les alertes, voir Configurer des alertes pour les problèmes de performances .
Nous avons repensé la section Surveillance des performances de la console Firebase afin que l'onglet Tableau de bord affiche vos métriques clés et toutes vos traces dans un seul espace. Dans le cadre de la refonte, nous avons supprimé les pages Sur l'appareil et Réseau .
Le tableau des traces au bas de l'onglet Tableau de bord contient les mêmes informations que les onglets Sur l'appareil et Réseau affichés, mais avec quelques fonctionnalités supplémentaires, notamment la possibilité de trier vos traces en fonction du pourcentage de changement pour une métrique spécifique. Pour afficher toutes les métriques et données d'une trace spécifique, cliquez sur le nom de la trace dans le tableau des traces.
Affichez vos traces dans les sous-onglets suivants du tableau des traces :
- Suivis des demandes réseau (à la fois prêts à l'emploi et personnalisés) — sous-onglet Demandes réseau
- Suivis de code personnalisés — sous-onglet Suivis personnalisés
- Démarrage de l'application, application au premier plan, suivis de l'application en arrière-plan — Sous-onglet Suivis personnalisés
- Traces de rendu d'écran — sous-onglet Rendu d'écran
- Traces de chargement de page — sous-onglet Chargement de page
Pour plus de détails sur le tableau des traces et l'affichage des métriques et des données, visitez la page de présentation de la console ( iOS+ | Android | Web ).
Les images de rendu lentes et les images gelées sont calculées avec un taux de rafraîchissement supposé de l'appareil de 60 Hz. Si le taux de rafraîchissement d'un appareil est inférieur à 60 Hz, chaque image aura un temps de rendu plus lent car moins d'images sont rendues par seconde. Des temps de rendu plus lents peuvent entraîner le signalement d'images plus lentes ou gelées, car davantage d'images seront rendues plus lentement ou seront gelées. Cependant, si le taux de rafraîchissement d'un appareil est supérieur à 60 Hz, chaque image aura un temps de rendu plus rapide. Cela peut réduire le nombre de trames lentes ou gelées signalées. Il s'agit d'une limitation actuelle du SDK de surveillance des performances.
Si vous avez activé l'intégration BigQuery pour Firebase Performance Monitoring, vos données seront exportées vers BigQuery 12 à 24 heures après la fin de la journée (heure du Pacifique).
Par exemple, les données du 19 avril seront disponibles dans BigQuery le 20 avril entre midi et minuit (toutes les dates et heures sont exprimées en heure du Pacifique).
Near real-time data processing and display
Firebase Performance Monitoring processes collected performance data as it comes in, which results in near real-time data display in the Firebase console. Processed data displays in the console within a few minutes of its collection, hence the term "near real-time".
To take advantage of near real-time data processing, make sure your app uses a real-time compatible SDK version .
To take advantage of near real-time data processing, you only need to make sure that your app uses a Performance Monitoring SDK version that's compatible with real-time data processing.
These are the real-time compatible SDK versions:
- iOS — v7.3.0 or later
- tvOS — v8.9.0 or later
- Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
- Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
These are the SDK versions compatible with real-time data processing:
- iOS — v7.3.0 or later
- tvOS — v8.9.0 or later
- Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
- Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
If your app doesn't use a real-time compatible SDK version, you will still see all your app's performance data in the Firebase console. However, the display of performance data will be delayed by roughly 36 hours from the time of its collection.
Yes! Regardless of which SDK version an app instance uses, you'll see performance data from all your users.
However, if you're looking at recent data (less than roughly 36 hours old), then the displayed data is from users of app instances using a real-time compatible SDK version. The non-recent data, though, includes performance data from all versions of your app.
Contacting Firebase Support
If you reach out to Firebase Support , always include your Firebase App ID. Find your Firebase App ID in the Your apps card of your Project settings .