Browser Monitoring
Push-based real-user monitoring. Browsers send beacons; Mydle stores them in Postgres and shows only what arrived — no estimated traffic, no session replay.
What you get#
- Sessions — anonymous timelines from structured beacons.
- Errors — JavaScript exceptions and unhandled rejections.
- Network — same-origin fetch / XHR timing and status.
- Web Vitals — LCP, CLS, INP, FCP, TTFB (and FID when observed).
Investigate in /app/browser. Empty charts mean no beacons yet.
Package#
Install @mydle/browser-sdk. Preferred API: mydle.init({ projectKey }), then track, captureException, flush, and stop. Legacy initMydleBrowser remains for product snippets. Full API: Browser SDK· setup: Installation.
Ingest#
Beacons POST to /api/rum/v1/ingest. Default production endpoint: https://www.mydle.app/api/rum/v1/ingest (DEFAULT_INGEST_ENDPOINT). Auth is a publishable pk_ key only — never workspace REST secrets (mydle_…) in the browser. Data is Postgres-backed.
Beacon types: pageview, navigation, route_change, visibility, unload, error, vital, session, network, event.
Plans#
- Free — 5,000 browser events / month, 1-day retention.
- Pro — 50,000 browser events / month, 7-day retention. +50,000 event add-ons are available.
Events older than 24 hours are rejected with TIMESTAMP_INVALID. When the monthly allowance is used up, ingest returns 429 QUOTA_EXCEEDED with a Retry-After header until the month resets; stored data stays visible. Per-key and IP rate limits still apply on all plans.
Limitations
- No session replay — timelines are structured events, not DOM video.
- Allowed HTTP(S) origins must be configured on the Browser app; empty lists and wildcards are denied.
- Automatic clicks are off by default — see Privacy.