Eight small pages, one shared account. Click around and watch your own data show up. Read the docs
Checking for browser agent…
New Relic browser agent

Click it.
Then find it.

Eight small demo pages, one shared New Relic account. Each page triggers a specific browser agent feature on purpose, then shows you exactly where to find the data it produced.

See all pages
Everyone who visits gets a random session code, so every page lets you filter down to just your own data, even while sharing the account with everyone else who has clicked through.
// Every page, the same shape
1. Click a button
2. The browser agent sends real telemetry
3. Run the NRQL the page gives you
4. See your own data come back
Eight pages

What you'll learn where

Every page stands on its own. Start anywhere, you don't need to go in order.

Logs
Automatic + your code

Console calls become New Relic logs

Console auto-logging, newrelic.log(), newrelic.wrapLogger(), and how log verbosity filters what actually gets sent.

Go to Logs
Errors
Automatic + your code

Errors become triaged, grouped data

Uncaught errors and promise rejections, noticeError(), setErrorHandler() for ignoring and grouping, addRelease(), and how errors relate to ERROR-level logs.

Go to Errors
Tracing
Automatic, needs a backend

Follow one click across the network

The exact traceparent, tracestate and newrelic headers the agent adds, carrying one click into backend services on the same distributed trace.

Go to Tracing
Vitals
Automatic, no code

Core Web Vitals, good or bad, on purpose

Make LCP, CLS and INP good or poor on demand, and watch a live scorecard react to your own choices.

Go to Vitals
Frustration or Events?

Which one do I need?

Both are about what visitors do, but they start in different places. Pick the one that matches your question.

Frustration
Automatic, no code

The frustration signals most teams never see

Trigger rage clicks, dead clicks and error clicks on purpose, and learn the exact timing thresholds that trip each one.

Use it when you want to know where users get stuck.

Go to Frustration
Events
You add the code

Three ways to record "something happened"

addPageAction(), recordCustomEvent(), and the automatic BrowserInteraction event, which despite its name doesn't record every interaction.

Use it when you want to count something your own way, like a button click or a checkout step.

Go to Events
Replay
Automatic + your code

Everything's masked, until you say otherwise

Force a session replay to record on demand, then see exactly what stays masked by default versus what you can deliberately unmask, block or ignore.

Go to Replay
SPA
You add the code

Take control yourself, instead of the heuristic

Force a BrowserInteraction to save, suppress one on purpose, and name a route by hand, with the manual interaction() API.

Go to SPA