Cette page fournit des conseils de dépannage pour commencer à utiliser Performance Monitoring ou à l'aide des fonctionnalités et outils Performance Monitoring.
Premières vérifications pour résoudre les problèmes
Les deux vérifications suivantes sont des bonnes pratiques générales recommandées pour tous les utilisateurs avant de poursuivre le dépannage.
1. Rechercher les événements liés aux performances dans les messages de journal
Vérifiez vos messages de journal pour vous assurer que le SDK Performance Monitoring capture les événements de performances.
Afficher les messages de journal des événements liés aux performances
Ouvrez les outils pour les développeurs de votre navigateur (par exemple, l'onglet "Network" (Réseau) des outils pour les développeurs Chrome ou le Network Monitor (Surveillance du réseau) de Firefox).
Actualisez votre application Web dans le navigateur.
Recherchez d'éventuels messages d'erreur dans vos messages de journal.
Après quelques secondes, recherchez un appel réseau à
firebaselogging.googleapis.com
dans les outils pour les développeurs de votre navigateur. La la présence de cet appel réseau indique que le navigateur envoie des alertes vers Firebase.
Si votre application n'enregistre pas les événements liés aux performances, consultez le guide de dépannage conseils.
2. Consulter le tableau de bord d'état Firebase
Consultez le Tableau de bord d'état Firebase au cas où il y a une indisponibilité connue pour Firebase ou Performance Monitoring.
Premiers pas avec Performance Monitoring
Si vous faites vos premiers pas avec Performance Monitoring (iOS+ | Android | Web), la procédure de dépannage suivante Ces conseils peuvent vous aider à résoudre les problèmes liés à la détection du SDK ou à l'affichage par Firebase vos premières données de performances dans la console Firebase.
Le SDK a été ajouté à l'application, mais la console indique toujours d'ajouter le SDK
Firebase peut détecter si vous avez bien ajouté le SDK Performance Monitoring à votre application lorsqu'il reçoit des informations d'événement (telles que des interactions avec l'application) de votre application. En général, dans les 10 minutes qui suivent le démarrage de votre application, la section Performances tableau de bord de la console Firebase affiche le message "SDK détecté" . Puis, dans les 30 minutes, le tableau de bord affiche les données traitées initiales.
Si vous avez ajouté la dernière version du SDK depuis plus de 10 minutes application et que vous ne constatez toujours aucun changement, consultez votre journal messages pour vous assurer que Performance Monitoring enregistre bien événements. Suivez les étapes de dépannage ci-dessous pour essayer de résoudre le problème. résoudre les problèmes liés à un message de détection retardée d'un SDK.
L'application consigne les événements: dépannage pas
<ph type="x-smartling-placeholder">- </ph>
Si vous développez toujours en local, essayez de générer plus d'événements pour la collecte de données :
Diffusez et affichez votre application Web dans un environnement local.
générer des événements en chargeant des sous-pages pour votre site, en interagissant avec l'application et/ou le déclenchement de requêtes réseau. Assurez-vous de conserver le navigateur l'onglet ouvert pendant au moins 10 secondes après le chargement de la page.
Assurez-vous que votre configuration Firebase est correctement ajouté à votre application et que vous n'avez pas modifié l'objet. Vérifiez plus particulièrement les points suivants:
- L'ID de l'application Web Firebase (
appId
) dans l'objet "config" correspond à votre l'application. Vous trouverez l'ID de votre application Firebase dans la fiche Vos applications de votre Projet settings .
Si vous constatez un problème avec l'objet de configuration de votre application, essayez la suivantes:
Supprimez l'objet de configuration actuellement présent dans votre application.
Suivez ces instructions pour obtenir un nouvel objet de configuration et l'ajouter à votre application Web.
- L'ID de l'application Web Firebase (
Si le SDK enregistre des événements et que tout semble correctement configuré, mais que vous ne voyez toujours pas le message de détection du SDK ni les données traitées (après deux heures), contactez l'assistance Firebase.
L'application ne consigne pas les événements: procédure de dépannage
Assurez-vous que le SDK Performance Monitoring est correctement initialisée dans votre l'application.
Assurez-vous que le SDK Performance Monitoring n'est pas désactivé via le l'indicateur suivant:
performance.instrumentationEnabled
Assurez-vous que la mise en cache de votre navigateur est désactivée. Sinon, le navigateur il est possible que vous n'obteniez aucun nouveau paramètre d'instrumentation.
Fermez, puis rouvrez l'onglet de la page Web. Vérifiez à nouveau la journalisation.
Si vous venez d'ajouter le SDK Performance Monitoring à votre application, vous devrez peut-être entièrement redémarrez votre application pour que le SDK commence à fonctionner.
Si vous ne trouvez aucun élément désactivé dans votre application, contactez l'assistance Firebase.
indique que le SDK est détecté, mais aucune donnée ne s'affiche
Performance Monitoring traite les données d'événement de performances avant de les afficher dans le Tableau de bord Performances :
Si plus de 24 heures se sont écoulées depuis la détection du SDK, s'affiche, et que vous ne voyez toujours pas de données, vérifiez le Tableau de bord d'état Firebase, le cas échéant d'une panne connue. En l'absence d'indisponibilité, contactez l'assistance Firebase.
Dépannage d'ordre général
Si vous avez réussi à ajouter le SDK et à utiliser Performance Monitoring dans votre application, la Les conseils de dépannage suivants peuvent vous aider à résoudre les problèmes d'ordre général impliquant Fonctionnalités et outils Performance Monitoring.
L'application n'enregistre pas les événements de performances
Si vous ne voyez pas les messages de journal relatifs aux performances , suivez les étapes de dépannage ci-dessous:
Assurez-vous que le SDK Performance Monitoring est correctement initialisée dans votre l'application.
Assurez-vous que le SDK Performance Monitoring n'est pas désactivé via le l'indicateur suivant:
performance.instrumentationEnabled
Assurez-vous que la mise en cache de votre navigateur est désactivée. Sinon, le navigateur il est possible que vous n'obteniez aucun nouveau paramètre d'instrumentation.
Fermez, puis rouvrez l'onglet de la page Web. Vérifiez à nouveau la journalisation.
Si vous venez d'ajouter le SDK Performance Monitoring à votre application, vous devrez peut-être entièrement redémarrez votre application pour que le SDK commence à fonctionner.
Si vous ne trouvez aucun élément désactivé dans votre application, contactez l'assistance Firebase.
Tableau de bord des performances il manque des données de premier délai d'entrée
Si vous ne voyez pas de données pour le premier délai d'entrée , essayez la en suivant les étapes de dépannage:
Sachez que Performance Monitoring n'enregistre la métrique First Input Delay que lorsqu'une L'utilisateur clique sur la page Web dans les cinq secondes suivant son chargement.
Assurez-vous d'avoir configuré votre application pour mesurer cette métrique. La pour la métrique First Input Delay doit être manuelle configuration. Plus précisément, vous devez ajouter la bibliothèque polyfill pour cette métrique. Pour consultez les instructions d'installation documentation.
Notez que l'ajout de cette bibliothèque de polyfill n'est pas nécessaire pour que Performance Monitoring puisse générer des rapports sur d'autres métriques liées aux applications Web.
Le tableau de bord des performances données de trace personnalisées manquantes
Les données de performances s'affichent-elles pour les traces collectées automatiquement, mais pas pour des traces de code personnalisées. Suivez les étapes de dépannage ci-dessous:
Vérifiez la configuration des traces de code personnalisées instrumentées via la API Trace, notamment les suivants:
- Les noms des traces de code personnalisées et des métriques personnalisées doivent respecter les critères suivants
conditions requises: pas d'espace blanc de début ou de fin, pas de trait de soulignement au début
(
_
) caractères. Sa longueur maximale est de 32 caractères. - Toutes les traces doivent être démarrées et arrêtées. Toute trace qui n'est pas démarrée, arrêtées ou arrêtées avant son démarrage ne sont pas consignées.
Notez que si vous utilisez la méthode
record()
, vous n'avez pas besoin de démarrer ou d'arrêter explicitement votre trace.- Les noms des traces de code personnalisées et des métriques personnalisées doivent respecter les critères suivants
conditions requises: pas d'espace blanc de début ou de fin, pas de trait de soulignement au début
(
Assurez-vous que la collecte des données Performance Monitoring n'est pas désactivée à l'aide de l'indicateur suivant :
performance.dataCollectionEnabled
Cet indicateur contrôle uniquement la collecte de données pour les traces de code personnalisées toutes les données).
Vérifiez vos messages de journal pour vous assurer que Performance Monitoring consigne les traces de code personnalisées attendues.
Si Performance Monitoring enregistre les événements, mais qu'aucune donnée ne s'affiche au bout de 24 heures, contactez l'assistance Firebase.
Tableau de bord des performances il manque des données de requête réseau
S'il vous manque des données de requête réseau, tenez compte des points suivants:
Performance Monitoring collecte automatiquement les métriques pour les requêtes réseau signalées par l'API du navigateur. Ces rapports n'incluent pas les requêtes réseau ayant échoué.
En fonction du comportement de votre code et des bibliothèques réseau utilisées par votre code, Performance Monitoring ne peut signaler que les requêtes réseau terminées. Cela signifie que les connexions HTTP/S laissées ouvertes peuvent ne pas être signalées.
Les données des demandes réseau ne sont pas agrégées comme prévu
Découvrez comment Performance Monitoring regroupe les requêtes réseau données sous les formats d'URL.
Vous pouvez également essayer les URL personnalisées des modèles.
Questions fréquentes
Qu'est-il arrivé aux principaux problèmes dans la fiche "Performances" de la page d'accueil du projet ?
Nous avons remplacé la section Principaux problèmes par Alertes récentes à la suite de notre les alertes récemment lancées, qui vous avertissent automatiquement lorsque les seuils que vous avez définis sont dépassés. Les problèmes sont désormais obsolètes et remplacées par les alertes.
Le sélecteur d'applications, en haut de la fiche "Performances", permet de filtrer l'alerte. sous Alertes récentes. Seules les trois alertes les plus récentes pour le application(s) sélectionnée(s) sont affichées.
Pour en savoir plus sur les alertes, consultez Configurer des alertes pour les problèmes de performances
Qu'est-il arrivé à la possibilité de définir des seuils pour les problèmes dans la console ?
Performance Monitoring accepte les alertes pour les métriques qui dépassent des seuils définis. Pour éviter toute confusion avec ces seuils configurables pour les métriques de performances, nous avons supprimé la possibilité de configurer des seuils pour les problèmes.
Qu'est-il arrivé aux informations sur les détails et les métriques dans la console Firebase ?
Nous avons remplacé les pages "Détails" et "Métriques" par une nouvelle interface centralisée pour améliorer la résolution des problèmes. Cette nouvelle interface de dépannage offre les mêmes fonctionnalités de base que les options "Détails" et "Métriques". Pour en savoir plus sur le dépannage, consultez Affichez plus de données pour une trace spécifique.
Pourquoi le nombre d'échantillons ne correspond-il pas à mes attentes ?
Performance Monitoring collecte des données de performances sur les appareils des utilisateurs de votre application. Si votre que l'application compte de nombreux utilisateurs ou qu'elle génère de nombreuses performances d'activité, Performance Monitoring peut limiter la collecte des données à un sous-ensemble d'appareils à 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 des métriques restent représentatives de l'expérience de l'utilisateur dans l'application.
Pour gérer le volume de données que nous collectons, Performance Monitoring utilise les éléments suivants options d'échantillonnage:
Limitation du débit sur l'appareil: pour empêcher un appareil d'envoyer des fréquences intensives nous limitons le nombre de traces de code et de requêtes réseau envoyées à partir d'un à 300 événements toutes les 10 minutes. Cette approche protège l'appareil des instrumentations en boucle pouvant envoyer de grandes quantités de données de performances cela empêche un seul appareil de fausser les mesures des performances.
Échantillonnage dynamique : Performance Monitoring collecte une limite d'environ 100 millions d'événements pour les traces de code et 100 millions pour les traces de requêtes réseau par application et par jour pour tous les utilisateurs de l'application. Un taux d'échantillonnage dynamique est récupéré sur les appareils Firebase Remote Config) pour déterminer si un appareil aléatoire doit de capturer et d'envoyer des traces. Un appareil non sélectionné pour l'échantillonnage n'importe quel événement. Le taux d'échantillonnage dynamique est spécifique à l'application et s'ajuste pour s'assurer que le volume global de données collectées reste inférieur à la limite.
Les sessions utilisateur envoient des données supplémentaires détaillées depuis l'appareil d'un utilisateur, ce qui nécessite plus de ressources pour capturer et envoyer les données. Afin de minimiser l'impact de l'utilisateur sessions, Performance Monitoring peut également limiter le nombre de sessions.
Limitation du débit côté serveur: pour s'assurer que les applications ne dépassent pas le délai d'échantillonnage limite, Performance Monitoring peut utiliser l'échantillonnage côté serveur pour supprimer certains événements provenant des appareils. Bien que ce type de limitation ne change pas de nos métriques, cela peut entraîner de légers changements dans les tendances, par exemple suivantes:
- Le nombre de traces peut différer du nombre de fois qu'un code a été exécuté.
- Les traces étroitement associées dans le code peuvent avoir chacune un nombre d'échantillons différent.
Qu'est-il arrivé à l'onglet Problèmes de la console ?
Nous avons remplacé l'onglet "Problèmes" par "Alertes", qui vous avertit automatiquement lorsque les seuils que vous définissez sont dépassés. Non vous n'avez plus besoin de vérifier manuellement la console Firebase pour déterminer l'état un seuil. Pour en savoir plus sur les alertes, consultez Configurer des alertes pour les problèmes de performances.
Qu'est-il arrivé aux onglets Sur l'appareil et Réseau de la console ? Comment puis-je consulter les traces qui se trouvaient sur ces pages ?
Nous avons repensé la section Performance Monitoring de la console Firebase pour que le L'onglet Tableau de bord affiche vos métriques clés et toutes vos traces dans un seul et même espace. En tant que Dans le cadre de cette refonte, nous avons supprimé les pages Sur l'appareil et Réseau.
Le tableau des traces en bas de l'onglet Tableau de bord présente exactement les mêmes informations affichées dans les onglets Sur l'appareil et Réseau, mais avec quelques nouvelles fonctionnalités, comme la possibilité de trier vos traces en fonction du pourcentage pour une métrique spécifique. Pour afficher toutes les métriques et données d'un trace, cliquez sur son nom dans le tableau des traces.
Affichez vos traces dans les sous-onglets suivants du tableau des traces:
- Traces de requête réseau (prêts à l'emploi et personnalisés) – sous-onglet Demandes réseau
- Traces de code personnalisés : sous-onglet Traces personnalisées
- Démarrage de l'application, traces de l'application au premier plan et en arrière-plan – sous-onglet Traces personnalisées
- Traces de rendu d'écran : sous-onglet Rendu de l'écran
- Traces de chargement de page – Sous-onglet Chargement de page
Pour en savoir plus sur le tableau des traces et sur l'affichage des métriques et des données, consultez le page de présentation de la console (iOS+ | Android | Web).
Pourquoi le nombre d'images lentes et figées n'est-il pas conforme à mes attentes ?
Les images de rendu lent et les images figées sont calculées en supposant une fréquence d'actualisation de l'appareil de 60 Hz. Si la fréquence d'actualisation d'un appareil est inférieure à 60 Hz, chaque image aura un temps d'affichage plus lent, car moins d'images sont affichées par seconde. Des cadres lents ou figés peuvent être signalés si l'affichage est plus lent. car un plus grand nombre d'images s'afficheront plus lentement ou se figeront. Toutefois, si un appareil est supérieure à 60 Hz, le rendu est plus court pour chaque image. Cela peut réduire le nombre de cadres lents ou figés à signaler. Il s'agit d'un dans le SDK Performance Monitoring.
Comment ajouter le SDK JS Performance Monitoring (le SDK "autonome") plus petit et associé à un espace de noms à mon application Web ?
Si Performance Monitoring est le seul produit Firebase dans votre application, vous pouvez utiliser la SDK Performance Monitoring autonome (et le script d'en-tête recommandé ci-dessous) si vous cela vous intéresse:
- à l'aide d'une bibliothèque d'espaces de noms
- en réduisant la taille de votre package SDK
- retardant l'initialisation du SDK jusqu'au chargement de la page
Pour inclure le SDK Performance Monitoring autonome dans votre application et retarder son initialisation après le chargement de la page:
- Ajoutez le script suivant à l'en-tête de votre fichier d'index.
- Veillez à ajouter l'objet de configuration du projet Firebase de votre application.
(function(sa,fbc){function load(f,c){var a=document.createElement('script'); a.async=1;a.src=f;var s=document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(a,s);}load(sa); window.addEventListener('load',function(){firebase.initializeApp(fbc).performance()}); })(performance_standalone, firebaseConfig);
où :
- performance_standalone correspond à
'https://www.gstatic.com/firebasejs/10.13.1/firebase-performance.js'
- firebaseConfig est l'objet de configuration Firebase de votre application.
Le script ci-dessus charge le SDK autonome de manière asynchrone, puis s'initialise.
Firebase après le déclenchement de l'événement onload
de la fenêtre. Cette tactique réduit
que le SDK pourrait avoir sur
de chargement de page, car le navigateur a
déjà signalé ses métriques de chargement
lorsque vous initialisez le SDK.
En savoir plus sur le SDK Performance Monitoring autonome et l'en-tête à l'aide du script
Ce SDK autonome est optimisé pour sa taille. Encodé en gzip, il fait environ 10 ko. Il contient toutes les fonctionnalités de Firebase Performance Monitoring, ainsi qu'un ensemble minimal les principales fonctionnalités du SDK Firebase.
Firebase Performance Monitoring utilise les API fetch
et Promise
qui ne sont pas disponibles sur les anciens navigateurs. Les polyfills de ces API sont inclus dans le SDK JS Firebase Performance Monitoring standard, mais ils sont omis du SDK autonome pour réduire la taille.
Le SDK Performance Monitoring s'appuie en partie sur le API Resource Timing pour obtenir les métriques de chargement de page à partir du navigateur.
L'extrait de code suivant décompose le script d'en-tête qui inclut et retarde l'initialisation du SDK :
(function(sdkSource, firebaseConfigObject) { function load(f, c) { // Creates a script tag to load the standalone SDK var sdkScript = document.createElement('script'); // Sets it to an async script so that it doesn't interfere with page load sdkScript.async = 1; // Sets the source of the script sdkScript.src = f; // Inserts the script into the head of the page var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sdkScript, s); } // Calls the load method load(sdkSource); // Initializes the SDK only when the onload method is called window.addEventListener('load', function() { firebase.initializeApp(firebaseConfigObject).performance(); }); })(performance_standalone, firebaseConfig);
où :
- performance_standalone est
'https://www.gstatic.com/firebasejs/10.13.1/firebase-performance-standalone.js'
- firebaseConfig est l'objet de configuration Firebase de votre application.
Traitement et affichage des données en quasi-temps réel
Que signifie "en temps quasi réel" ? des données sur les performances ?
Firebase Performance Monitoring traite les données sur les performances au fur et à mesure qu'elles arrivent, ce qui permet l'affichage des données en temps quasi réel dans la console Firebase. Traité les données s'affichent dans la console quelques minutes après leur collecte. "quasi en temps réel".
Pour profiter du traitement des données en temps quasi réel, assurez-vous que votre application utilise un SDK compatible en temps réel version.
Comment obtenir des données sur les performances de mon application en temps quasi réel ?
Pour tirer parti du traitement des données en temps quasi réel, il vous suffit de vous assurer que votre appli utilise une version du SDK Performance Monitoring compatible avec le temps réel traitement des données.
Voici les versions compatibles en temps réel des SDK:
- iOS : v7.3.0 ou version ultérieure
- tvOS : version 8.9.0 ou ultérieure
- Android : v19.0.10 ou version ultérieure (ou Firebase Android BoM v26.1.0 ou version ultérieure)
- Web : version 7.14.0 ou ultérieure
Notez que nous vous recommandons de toujours utiliser la dernière version du SDK, mais toute la version indiquée ci-dessus permettra à Performance Monitoring de traiter vos données en quasi-temps réel en temps réel.
Quelles versions du SDK Performance Monitoring sont considérées comme compatibles en temps réel ?
Voici les versions de SDK compatibles avec le traitement des données en temps réel :
- iOS : version 7.3.0 ou ultérieure
- tvOS : version 8.9.0 ou ultérieure
- Android : v19.0.10 ou version ultérieure (ou Firebase Android BoM v26.1.0 ou version ultérieure)
- Web : version 7.14.0 ou ultérieure
Notez que nous vous recommandons toujours d'utiliser la dernière version du SDK, mais n'importe quelle version listée ci-dessus permet à Performance Monitoring de traiter vos données en quasi-temps réel.
Que se passe-t-il si je ne mets pas à jour mon application pour qu'elle utilise une version compatible du SDK en temps réel ?
Si votre application n'utilise pas de version de SDK compatible avec le temps réel, vous verrez toujours toutes les données de performances de votre application dans la console Firebase. Toutefois, l'écran des données sur les performances est retardé d'environ 36 heures collection.
J'ai effectué la mise à jour vers une version du SDK compatible en temps réel, mais certains de mes utilisateurs toujours sur d'anciennes versions de mon application. Est-ce que je continue de voir leurs performances ? dans la console Firebase ?
Oui ! Quelle que soit la version du SDK utilisée par une instance d'application, vous verrez les données sur les performances de tous vos utilisateurs.
Toutefois, si vous consultez des données récentes (datant de moins de 36 heures environ), les données affichées proviennent d'utilisateurs d'instances de l'application à l'aide d'un rapport en temps réel vers une version compatible du SDK. En revanche, les données non récentes incluent les données sur les performances. de toutes les versions de votre application.
Contacter l'assistance Firebase
Si vous contactez l'assistance Firebase, toujours inclure l'ID de votre application Firebase. Recherchez votre ID d'application Firebase dans le Fiche Vos applications de votre settings Projet .