Browser monitoring est une fonctionnalité en beta d’AppSignal Labs. Le
package
@appsignal/browser est publié sous le tag beta sur npm, et sa
configuration ainsi que son API peuvent encore changer d’une release beta à
l’autre. Partagez vos retours dans notre
communauté Discord.- Après un deploy, certains utilisateurs rencontrent
Failed to fetch dynamically imported modulealors que vos propres tests restent au vert. Quelle release a introduit le problème, et que faisait l’utilisateur à ce moment-là ? - Vos traces montrent un serveur qui répond en 80 ms, mais les utilisateurs trouvent toujours le dashboard lent. Le temps part-il quelque part dans le navigateur ?
- Vous avez livré hier une modification de votre bundle JavaScript. Les pages sur lesquelles vos utilisateurs passent le plus de temps sont-elles devenues plus lentes ?
- Errors regroupe les erreurs front-end en issues que vous pouvez trier, assigner et pour lesquelles vous pouvez être notifié.
- Performance rapporte les web vitals par route, pour comparer les releases et repérer les pages à retravailler.
Ce que collecte le SDK
Browser monitoring est alimenté par AppSignal pour Browser, le package@appsignal/browser que vous ajoutez à votre front end. Une fois initialisé, il collecte trois choses sans configuration supplémentaire :
- Errors : les erreurs JavaScript que votre code lève sans les intercepter, y compris les promesses qui échouent. Chacune arrive avec une stack trace et les tags que vous avez définis.
- Breadcrumbs : une chronologie de ce qui s’est passé avant une erreur, à savoir les pages que l’utilisateur a ouvertes, ce qu’il a sélectionné, les requêtes émises par la page et ce que la console a journalisé.
- Web vitals : cinq mesures du ressenti à l’usage de la page. Le temps de chargement, la rapidité de réponse et le fait que la mise en page saute ou non pendant le chargement.
Lien avec vos erreurs back-end
Les erreurs front-end sont rapportées dans le namespacebrowser (voir les namespaces), ce qui les tient à l’écart de vos listes d’erreurs back-end et de leurs réglages de notification. C’est la raison pour laquelle browser monitoring est une section à part plutôt qu’un filtre sur vos erreurs existantes : une développeuse front-end ouvre une vue qui contient du travail front-end et rien d’autre, au lieu de restreindre une vue conçue pour déboguer le côté serveur.
Pour le reste, ce sont des issues ordinaires : le regroupement, le tri et le modèle de notification sont ceux qu’Errors utilise partout ailleurs dans AppSignal.
Les web vitals sont distinctes de vos données back-end de performance et de tracing. Un navigateur mesure le temps qu’une page a mis à devenir utilisable. Un trace mesure ce qu’a fait votre serveur. Quand la même route est lente dans les deux, vous regardez un même problème par deux côtés.
Deux réglages à ne pas manquer
Ces deux choix déterminent l’utilité des données :- Rapportez le template de route. Indiquez à AppSignal que l’utilisateur est sur
/orders/:id, pas sur/orders/1042. Les erreurs comme les web vitals sont regroupées selon la route que vous rapportez. Sans template, mille commandes deviennent mille routes distinctes, et un bug devient mille issues. Pour en savoir plus, consultez rapporter la route actuelle. - Définissez une version d’application. Les deux vues peuvent filtrer selon la version qui a rapporté les données. C’est ainsi que vous saurez si une release a dégradé les choses. Pour en savoir plus, consultez
appVersion.