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.Comment les erreurs sont regroupées
Les occurrences d’un même type d’erreur sur une même route forment une seule issue. Un bug qui se déclenche dix mille fois est une seule chose à trier, au lieu de dix mille notifications. La route est celle que le SDK a rapportée viasetRouteTemplate(), ou le chemin de la page si rien n’a été déclaré. C’est pourquoi déclarer des templates compte : sans eux, /orders/1 et /orders/2 sont des routes différentes, et un bug se fragmente en une issue par commande.
Lire la liste des issues
Chaque issue de la liste porte :- La classe d’erreur et le message, avec la route sur laquelle l’erreur s’est produite.
- La version dans laquelle elle a été introduite, souvent le moyen le plus rapide de repérer une régression : une nouvelle issue sur votre release la plus récente est une release à regarder de près.
- Une tendance sur la période sélectionnée, pour qu’un pic se lise différemment d’un filet continu.
- Le nombre total d’occurrences sur la période.
- La date de la dernière occurrence.
- La personne à qui elle est assignée.
Filtrer par période et par version
- Période. Des préréglages d’une heure à 30 jours, ou une plage personnalisée.
- Version. Restreignez la liste aux erreurs rapportées par une seule release. Combiné à la colonne d’introduction, c’est ainsi que vous confirmez si un deploy est responsable.
Enquêter sur une issue
Ouvrir une issue affiche un sample de l’erreur : quand elle s’est produite, la page concernée et le deploy dans lequel elle est apparue en premier, ainsi que quatre éléments à partir desquels déboguer.- Le message d’erreur, en entier. C’est là que se trouve le sens.
TypeErrorne dit presque rien à lui seul, tandis queFailed to fetch dynamically imported modulevous apprend qu’un chunk chargé paresseusement n’est jamais arrivé. - Les tags que vous avez définis avec
setTags(), affichés à côté du user agent et de la révision, si vous avez définiappVersion. Quelques noms de tags font plus que filtrer. Taguez aveccountry_codeoubrowseret vous obtenez des distributions d’attributs, qui montrent quels pays ou quels navigateurs voient le plus d’erreurs. Les templates de liens transforment un tag en lien, si bien qu’un taguser_idpeut ouvrir cet utilisateur dans votre propre back-office. - La backtrace, que vous pouvez lire en entier ou restreinte à votre propre application. Les stacks front-end sont souvent presque entièrement composées de frames de framework. Un échec de
removeChildvenu de React arrive comme un mur de framesreact-domsans rien de chez vous en vue, et la vue application est ce qui permet d’y voir clair. - La chronologie des breadcrumbs qui a mené à l’erreur, et c’est généralement la partie qui vous sauve.
Tri et notifications
Les issues peuvent être assignées, dotées d’un état, mises en sourdine et configurées avec leurs propres réglages de notification, et le reste de l’outillage d’incidents d’AppSignal fonctionne également sur elles. Pour en savoir plus, consultez Errors. Comme les erreurs front-end vivent dans le namespacebrowser (voir les namespaces), ces réglages sont distincts de ceux de votre back end. Si vous migrez depuis @appsignal/javascript, notez que ses erreurs étaient rapportées dans frontend : les réglages de notification que vous y avez configurés ne sont donc pas repris. Pour en savoir plus, consultez le guide de migration.