Skip to main content
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.
Suivez ce guide pour ajouter le suivi des erreurs et les Web Vitals du navigateur à votre application. Les exemples Plain JS et React couvrent aussi le tracing distribué, le filtrage des erreurs, le masquage et les tags. Vous pouvez générer le code de votre application dans le Browser SDK install flow, ou suivre les exemples ci-dessous. Si vous n’avez pas encore ajouté votre application à AppSignal, suivez d’abord le guide d’installation.

Trouver votre Front-end API key

Trouvez la Front-end API key sous Front-end error monitoring, dans les paramètres de votre application. Elle se trouve sur la page « Push & deploy ». Utilisez la clé de l’application et de l’environnement que vous souhaitez surveiller. Cette clé est destinée à être incluse dans le code du navigateur. Elle est différente des Push API keys utilisées par les intégrations back-end. L’install flow insère votre clé dans le code généré. Dans les exemples ci-dessous, remplacez <YOUR_FRONTEND_API_KEY> par votre propre clé.

Générer le snippet dans AppSignal

Le Browser SDK install flow vous permet de choisir Plain JS ou React et de sélectionner les fonctionnalités à inclure. Route template est sélectionné par défaut. Les exemples complets ci-dessous incluent toutes les options : L’install flow génère du code Browser SDK. Sélectionner Distributed tracing n’instrumente pas votre service API. Pour voir ses spans à côté d’une erreur de requête du navigateur, suivez aussi la configuration back-end. Les deux versions montrent aussi comment rapporter une erreur que vous capturez vous-même. La version React inclut une error boundary pour les erreurs de rendu.

Installer le package

Installez AppSignal pour Browser depuis le tag beta. Le tracing distribué et le rapport des requêtes échouées nécessitent la version 1.0.0-beta.7 ou ultérieure. L’install flow affiche actuellement une commande sans version ; utilisez l’une de ces commandes pour la version bêta :
Committez votre lockfile et vérifiez le snippet lorsque vous mettez à jour pendant la bêta.

Initialiser le SDK

Importez votre configuration AppSignal avant le code applicatif que vous souhaitez surveiller. Remplacez process.env.NODE_ENV et process.env.APP_REVISION par les valeurs équivalentes de votre système de build. Définissez appVersion sur votre tag de release ou votre SHA de commit afin qu’AppSignal puisse associer les erreurs aux sourcemaps. Ces exemples incluent toutes les options de l’install flow. Remplacez api.example.com/** par l’hôte et le chemin de votre API pour le tracing distribué. Remplacez les sélecteurs CSS, les tags et l’exemple de routeur par les valeurs de votre application.
1. Initialisez AppSignal dans appsignal.js.
appsignal.js
Importez-le en premier dans votre point d’entrée :
main.js
2. Rapportez les changements de route depuis votre routeur. Remplacez router.on par le hook de navigation de votre routeur. Rapportez aussi la route initiale, puis rapportez son modèle à chaque navigation.
router.js
3. Ajoutez des tags après la connexion. Utilisez des valeurs de l’utilisateur ou du compte connecté. Appelez clearTags() à la déconnexion pour effacer les tags enregistrés.
account.js
4. Rapportez les erreurs que vous capturez vous-même. Remplacez save() par votre propre opération.
save.js
Si vous n’avez besoin que du suivi des erreurs, des breadcrumbs et des web vitals, utilisez un appsignal.js plus simple. Remplacez <YOUR_APP_REVISION> par votre tag de release ou votre SHA de commit :
Importez appsignal.js en premier dans votre point d’entrée, comme montré ci-dessus. Cette configuration plus simple n’ajoute pas d’en-têtes traceparent à vos requêtes API. Pour toute configuration, active: false empêche le SDK de collecter ou d’envoyer des données. endpoint utilise par défaut l’origine de la page actuelle. Définissez-le sur https://appsignal-endpoint.net, sauf si vous faites transiter les requêtes AppSignal par votre propre domaine. Consultez toutes les options de configuration.

Installation sans bundler

Si votre site charge le JavaScript avec des balises <script> et n’utilise pas de bundler, utilisez le build UMD. Il expose le SDK sous le nom AppsignalBrowser sur window :
Remplacez la version dans l’URL lorsque vous effectuez une mise à jour. Une version fixe évite qu’un changement inattendu du SDK n’affecte votre site.

Signaler la route actuelle

Suivez cette étape pour une application monopage avec des routes comme /users/42. Passez le modèle de route, par exemple /users/:id, à chaque navigation de votre routeur. AppSignal l’utilise pour regrouper les erreurs et les web vitals par route. Les exemples complets ci-dessus montrent où appeler setRouteTemplate(). Si vous ne définissez pas de modèle de route, le SDK rapporte le chemin de la page actuelle. Cela signifie que /users/42 et /users/43 peuvent apparaître comme des groupes d’erreurs distincts. Consultez les exemples de route React pour React Router et Next.js.

Vérifier l’installation

  1. Déployez un build avec active défini sur true. Vous pouvez temporairement utiliser active: true en développement.
  2. Ouvrez la page et exécutez ce code dans la console du navigateur :
    JavaScript
    Le timer permet à l’erreur d’atteindre le gestionnaire d’erreurs global de la page. Une erreur levée directement dans la console est généralement interceptée par la console elle-même.
  3. Ouvrez Browser > Errors dans AppSignal et trouvez AppSignal test error.
Les web vitals apparaissent une fois que le SDK les envoie. Cela se produit, par exemple, lorsque la page est masquée ou que la route change. Si aucune donnée n’apparaît, consultez le dépannage pour Browser.

Content Security Policy

Si votre site utilise une Content Security Policy, autorisez le point de terminaison AppSignal configuré dans sa directive connect-src. Par exemple, ajoutez le point de terminaison à vos sources déjà autorisées :

Assets hébergés sur un CDN

Suivez cette étape si le JavaScript de votre site se charge depuis une autre origine, comme un CDN. Sans accès cross-origin, le navigateur peut ne rapporter que Script error., sans stack trace ni numéro de ligne. Le SDK écarte ces erreurs opaques car elles ne peuvent pas être retracées jusqu’à votre code. Servez le script avec un en-tête Access-Control-Allow-Origin qui autorise l’origine de votre page, et ajoutez crossorigin="anonymous" à la balise de script :

Désinstallation

  1. Retirez l’import appsignal.js et les autres appels à @appsignal/browser de votre code. Retirez tout ErrorBoundary importé depuis @appsignal/browser/react.
  2. Retirez le package et mettez à jour votre lockfile avec npm uninstall @appsignal/browser, yarn remove @appsignal/browser ou pnpm remove @appsignal/browser. Si vous avez installé le build UMD, retirez plutôt sa balise <script>.
  3. Déployez le changement. Le nouveau build cesse de rapporter des données du navigateur.
  4. Si cette application AppSignal ne servait qu’au browser monitoring, vous pouvez éventuellement supprimer l’application.
Pour arrêter la collecte sans désinstaller, appelez destroy(). Cela envoie les données en attente et arrête la collecte jusqu’à la prochaine exécution de init(), par exemple après un rechargement de page.