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(). Jusqu’à 25 breadcrumbs du tampon de contexte d’erreur accompagnent chaque erreur rapportée, y compris un breadcrumb pour cette erreur elle-même. Vous les lisez dans le sample de l’issue.
Ce qui est collecté
Ces catégories automatiques peuvent apparaître avec un rapport d’erreur :
Les options
breadcrumbs permettent de désactiver la collecte de network, console, click et long_task. Les breadcrumbs navigation, visibility et error n’ont pas d’interrupteur séparé.
Nommer les éléments
Les breadcrumbs de sélection décrivent l’élément comme une personne le reconnaîtrait, plutôt que par sa position dans la page. AppSignal cherche d’abord un attributdata-breadcrumb. Sinon, il utilise le type d’élément et son texte, par exemple button "Submit". Si rien de tout cela n’aide, il utilise la balise et l’ID, par exemple input#cvc.
Quand le libellé automatique n’aide pas, ou quand le texte visible est quelque chose que vous préférez ne pas envoyer, définissez le vôtre :
Ajouter vos propres breadcrumbs
Enregistrez tout ce qui mérite d’être connu avecaddBreadcrumb() :
Vos propres breadcrumbs accompagnent les erreurs, quelle que soit la catégorie que vous leur donnez.
Ce que le SDK ne capture pas automatiquement
- Les corps de requête et de réponse. Le SDK ne les lit pas depuis les appels réseau. Si une charge utile compte pour le débogage, ajoutez uniquement les parties dont vous avez besoin avec
addBreadcrumb(). - Les cookies. Le SDK n’en lit ni n’en écrit aucun.
- Les paramètres de requête dans la plupart des champs d’URL créés par le SDK.
privacy.queryParamsAllowlistles supprime par défaut des breadcrumbs de navigation et defetch/XMLHttpRequest. Le breadcrumb du chargement initial du document fait exception. - Les appels
fetchetXMLHttpRequestbloqués. Les appels correspondant àprivacy.networkBlocklist, ainsi que les appels vers l’endpoint d’AppSignal, ne laissent aucun breadcrumb. Ils ne sont jamais rapportés comme des requêtes échouées non plus. Le breadcrumb du chargement initial du document n’est pas couvert par la liste de blocage. - Le texte et les éléments que vous avez masqués. Pour en savoir plus, consultez masquer et bloquer des éléments de page.
beforeBreadcrumb.
Lire les breadcrumbs réseau
Un breadcrumb réseau se lit comme une méthode, une URL et un statut dès qu’une réponse est arrivée, y compris les réponses404 et 500. Un suffixe (error) signifie qu’aucune réponse n’est arrivée. La cause peut être un échec DNS, une connexion refusée ou une requête bloquée.
Une requête qui a envoyé un en-tête traceparent enregistre aussi son trace ID dans le breadcrumb. Le service qui la reçoit doit poursuivre la trace pour que les spans back-end apparaissent sous cet ID.
Les requêtes cross-origin ne rapportent aucun détail de temps, sauf si le serveur envoie un en-tête Timing-Allow-Origin. C’est une restriction du navigateur, pas d’AppSignal.