Simulator

Console failures, without the guesswork.

Fire realistic signals or high-volume chaos, then watch DevTools or your capture pipeline.

Shortcuts F12 · Ctrl+Shift+I

Manual triggers

Realistic signals shaped like the ones a production app actually emits. Icons mark the signal type; the strip shows roughly what appears in DevTools.

Structured console.log

Route-change telemetry — message plus an inspectable object.

[router] navigation { from: "/dashboard", to: "/dashboard/billing", durationMs: 142, … }

Deprecation warning

SDK-style notice with method name, version, and migration URL.

⚠ [deprecation] `auth.getUserData()` is deprecated and will be removed in v4.0.0…

Checkout event payload

Nested object tree — order ID, amount, customer, timestamp.

[checkout] event { step: "payment", orderId: "ord_…", amountCents: 1299, customer: {…} }

Request waterfall

Collapsed group mixing 200s, a slow response, and a 503 retry.

▸ Request waterfall · /dashboard — 5 entries (GET 200, slow, POST 503 retry, …)

TypeError on undefined

The single most common runtime error — access on a value that isn't there yet.

► TypeError: Cannot read properties of undefined (reading 'preferences')

ReferenceError

Calling a global the third-party script never loaded (analytics, gtag, fbq, etc).

► ReferenceError: gtag is not defined

Deep call stack

Error nested through submitOrdervalidatePaymentauthorizeWithStripe.

► Error: Missing payment token — cannot authorize charge for order ord_…

RangeError (stack overflow)

Unintentional infinite recursion — exhausts the call stack.

► RangeError: Maximum call stack size exceeded

SyntaxError on JSON.parse

Classic trap — API returned an HTML error page instead of JSON.

► SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON

Unhandled promise rejection

Promise with no .catch — hits the unhandledrejection event.

Uncaught (in promise) Error: Failed to fetch user profile for usr_…: 401 Unauthorized

Uncaught error in timer

Throw inside setTimeout — escapes try/catch, bubbles to window.onerror.

Uncaught TypeError: Cannot read properties of null (reading 'theme')

Failed fetch (network)

Request to a non-resolving domain — fires a real TypeError: Failed to fetch.

GET https://api.broken-example-domain.invalid/v1/users/me net::ERR_NAME_NOT_RESOLVED

CORS-blocked request

Cross-origin fetch the browser blocks — emits its own console error.

Access to fetch at 'https://example.com/…' from origin '…' has been blocked by CORS policy

Resource 404 (image)

Broken <img> source — fires an error event on the element. Often missed by capture tools.

GET /static/avatars/user-…png 404 (Not Found) — element error event fires

React-style key warning

Dev-mode warning with component stack — does your tool tag this as a warning or an error?

Warning: Each child in a list should have a unique "key" prop. … at OrderItem at OrderList at App

Long task violation

Blocks the main thread ~220ms — trips the browser's own [Violation] warning.

[Violation] 'click' handler took 221ms

Duplicate burst (×25)

25 identical errors back-to-back — exercises dedup & rate-limit logic in your capture pipeline.

► Error: Network request failed: timeout after 30000ms × 25

Chaos mode

Uses Include below — each emission picks one enabled type at random.

Include

Burst

Batch emissions back-to-back — same Include list, no timer.

Timed loop

Optional — repeat one emission per interval until you stop.

Idle