Observability
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 — 10,000 browser events per UTC calendar month (
browser_monitoring). - Pro+ — unlimited browser events.
When Free hits the monthly cap, ingest returns 403 NOT_ENTITLED. 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.