Skip to content

Features

Session replay: see the bug the way the user did

Instead of reconstructing a session from logs, watch it. Buglapse records what happened on the page before an error and links the recording to the issue it belongs to.

All Buglapse features

Session replay

The missing context for frontend bugs

  • The session before the error

    DOM changes, mouse movement, scrolling, input and navigation, replayed in the dashboard exactly as they happened on the page.

  • Two recording modes

    Record a share of sessions from the start, and keep the rest in a short in-memory buffer that is uploaded only when an error occurs.

  • Private by default

    The values of all form inputs are masked. Add a class to an element to mask its text or to exclude it from the recording completely.

  • Linked to the issue

    Every event sent from the page carries the id of its replay, so an issue page leads straight to the recordings in which the error happened.

How it works

Turn replay on

  1. 1

    Add the replay integration

    Replay is a separate integration of the browser SDK. Import it only in the applications where you need it.

  2. 2

    Choose the sample rates

    Set the share of sessions recorded in full and the chance that an error uploads the buffered session.

  3. 3

    Watch from the issue

    Open an issue and play the session that led to it, or browse recordings on the Replays page of the project.

main.ts
import { use } from '@buglapse/browser'
import { replayIntegration } from '@buglapse/browser/integrations'

use(replayIntegration({
  sessionSampleRate: 0.1,
  onErrorSampleRate: 1,
}))

In detail

Recording modes and privacy

Full session and on-error

In full-session mode a recording is uploaded in segments from the first second, for the share of sessions you choose. Every other session is only buffered in the browser's memory, and the buffer is sent when an exception is captured — so you get the moments before the error without paying for sessions where nothing went wrong. Canvas content can be recorded as well, at a low frame rate.

What is and is not recorded

Replay records the structure of the page and the changes to it, not a video of the screen. Input values are masked before they leave the browser. For anything else that should not be seen — personal data in a profile, a payment form, a chat — mark the element to be masked or blocked, and it appears in the recording as asterisks or as an empty placeholder.

On each plan

Compare all plans
On each plan
Free Pro Team
Replays / month101001,000
Replays7 days14 days30 days

FAQ

Common questions

Still have questions?

Drop us a line — we'll help with setup, plans or self-hosting.

Contact us

or email hello@buglapse.com

Does replay make my bundle bigger?
The recorder is a sizeable dependency, which is why it is a separate integration: it is loaded only in the applications that import it, and the rest of the SDK stays small.
Is it a video of the screen?
No. The page is recorded as DOM snapshots and changes and is rebuilt in the player, which keeps recordings compact and lets inputs be masked reliably.
How are replays counted?
Each recorded session counts as one replay toward the monthly replay quota of the organization. The on-error mode keeps the count close to the number of sessions that actually had a problem.

See also

Error tracking

Every error grouped into one issue with a readable stack trace, breadcrumbs, the steps to the error and the affected users.

Learn more: Error tracking

JavaScript

Error monitoring, tracing, logs and session replay for browser JavaScript, with any framework.

Learn more: JavaScript

Ready to see what's happening in your app?

Create a project on the free plan and send your first event in a couple of minutes.

Still have questions? Email hello@buglapse.com