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.init() dans un seul objet. Seul key est obligatoire. Un second appel à init() est ignoré jusqu’à ce que vous appeliez destroy(). La plupart des applications changent les options à leur prochain build.
key
- Type :
string - Obligatoire
endpoint
- Type :
string - Valeur par défaut : l’origine de la page courante
https://appsignal-endpoint.net. Si vous relayez le trafic AppSignal via votre domaine, laissez-le vide pour utiliser l’origine courante. Une barre oblique finale est retirée.
Les erreurs sont envoyées à POST /ingest/browser/errors, et les web vitals à POST /ingest/browser. La clé voyage en paramètre de requête api_key, ce qui est utile à savoir si vous maintenez une allowlist connect-src.
active
- Type :
boolean - Valeur par défaut :
true
init(). Quand il vaut false, l’initialisation retourne sans modifier la page, sans démarrer de minuteur ni émettre de requête. Un second appel à init() ne peut pas désactiver un SDK déjà en cours d’exécution. Toutes les autres fonctions ne font rien non plus, vous pouvez donc les appeler partout sans vérification préalable.
Définissez-le depuis votre environnement de build pour que les exécutions de développement, de test et de CI n’envoient rien :
appVersion
- Type :
string
serviceName
- Type :
string - Valeur par défaut :
"Browser"
serviceName: "Checkout UI" affiche Checkout UI au lieu de la valeur par défaut Browser dans la chronologie de trace. Utilisez une valeur différente pour chaque front-end que vous surveillez. Le SDK l’envoie avec chaque rapport d’erreur. Consultez tracing distribué pour Browser.
tracePropagationTargets
- Type :
string[] - Valeur par défaut :
[]
traceparent. Chaque motif doit comporter un hôte et un chemin. Par exemple, ["api.example.com/**"] correspond à tous les chemins de api.example.com. api.example.com seul ne correspond à rien.
Si une requête correspondante renvoie une réponse 5xx ou expire, le SDK rapporte une erreur du navigateur. Pour voir les spans back-end dans sa trace, instrumentez le service qui la reçoit pour qu’il lise l’en-tête.
La liste vide par défaut n’ajoute aucun en-tête traceparent. Consultez tracing distribué pour Browser pour la configuration et des exemples.
beforeError
- Type :
(event: IncomingError) => IncomingError | null
null pour écarter l’erreur, ou modifiez ses champs pour les expurger. Pour en savoir plus, consultez filtrer les erreurs.
Ce callback doit être synchrone. Une promesse retournée est détectée, journalisée via console.error, et l’erreur est écartée.
beforeBreadcrumb
- Type :
(breadcrumb: Breadcrumb) => Breadcrumb | null
null pour le jeter, ou modifiez message et data pour retirer du texte sensible. Cela s’exécute souvent : gardez-le rapide.
errors.enabled
- Type :
boolean - Valeur par défaut :
true
false, le SDK continue de les écouter mais n’envoie rien.
errors.sampleRate
- Type :
numberentre0et1 - Valeur par défaut :
1.0
0.25 rapporte environ un quart d’entre elles. Cela se produit avant les limites de débit et avant l’exécution de beforeError.
breadcrumbs.network
- Type :
boolean - Valeur par défaut :
true
fetch et XMLHttpRequest, à l’exception des requêtes annulées. Cette option ne contrôle pas le breadcrumb du chargement initial du document. Le SDK ne lit pas les corps de requête ni de réponse.
breadcrumbs.console
- Type :
boolean - Valeur par défaut :
true
console.warn et console.error. console.log n’est pas modifié.
breadcrumbs.clicks
- Type :
boolean - Valeur par défaut :
true
breadcrumbs.longTasks
- Type :
boolean - Valeur par défaut :
true
privacy.queryParamsAllowlist
- Type :
string[] - Valeur par défaut :
[]
* pour faire correspondre plusieurs noms à la fois : "utm_*" conserve donc tous les paramètres UTM. La liste par défaut est vide, ce qui les supprime tous. Pour en savoir plus, consultez confidentialité et filtrage.
privacy.networkBlocklist
- Type :
string[] - Valeur par défaut :
[]
fetch et XMLHttpRequest qui ne sont enregistrés ni comme breadcrumbs ni comme erreurs de requête échouée. Comparés à l’hôte et au chemin. Les appels ont toujours lieu. Cette option ne filtre pas le breadcrumb du chargement initial du document.
privacy.dom.maskText
- Type :
string[] - Valeur par défaut :
[]
[masked] dans les breadcrumbs click. Le breadcrumb est tout de même enregistré, vous conservez donc le fait qu’une interaction a eu lieu.
privacy.dom.blockElement
- Type :
string[] - Valeur par défaut :
[]
Référence de l’API
À l’exception d’init(), ces fonctions ne font rien tant que le SDK n’a pas été initialisé avec active: true.