Browser monitoring is a beta AppSignal Labs feature. The
@appsignal/browser package is published under the beta tag on npm, and its
configuration and API may still change between beta releases. Share feedback
in our Discord community.What is collected
Toggle whole categories off with the
breadcrumbs options.
Labeling elements
Selection breadcrumbs describe the element the way a person would recognize it, rather than by its position in the page. AppSignal looks for three things, in order: adata-breadcrumb attribute, then the kind of element together with its text (button "Submit"), then the element’s tag and ID (input#cvc).
When the automatic label is unhelpful, or when the visible text is something you would rather not send, set your own:
Adding your own breadcrumbs
Record anything else worth knowing withaddBreadcrumb():
Your own breadcrumbs travel with errors whatever category you give them.
What is never recorded
- Request and response bodies. No option exposes them. If a payload matters for debugging, add the parts you need with
addBreadcrumb(). - Cookies. The SDK reads and writes none.
- Query parameters you have not allowed. Every URL is filtered through
privacy.queryParamsAllowlist, which removes all of them by default. - Requests to blocked hosts and paths. Requests matching
privacy.networkBlocklist, and requests to AppSignal’s own endpoint, leave no breadcrumb. - Text and elements you have masked. Read more in masking and blocking page elements.
beforeBreadcrumb.
Reading network breadcrumbs
A network breadcrumb reads as method, URL, and status whenever a response arrived, including404 and 500 responses. An (error) suffix means the request failed at the transport level, with no response at all: a DNS failure, a refused connection, or a blocked request.
Cross-origin requests report no timing breakdown unless the server sends a Timing-Allow-Origin header. That is a browser restriction, not an AppSignal one.