Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions contents/docs/replay-vision/quota-and-limits.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,11 @@ In practice this means: **every observation that produces a `$recording_observed

## What happens when the cap is reached

Both enforcement paths use the same check:
Each enforcement path handles this differently:

- **Background sweeps** – new observations queued by the automatic schedule are silently skipped. The scanner stays enabled, the sweep keeps running, but no work gets queued until quota frees up (next month, or as in-flight observations resolve to ineligible/failed).
- **On-demand triggers** – the player action and the `vision-scanners-scan-session` MCP tool return a `402 Payment Required` response with a `quota_limit_exceeded` code.
- **Single on-demand triggers** – the player action and the `vision-scanners-scan-session` MCP tool return a `402 Payment Required` response with a `quota_limit_exceeded` code.
- **Bulk on-demand scans** – the **Scan N selected** action starts as many scans as the quota and concurrency limits allow, then reports the remaining sessions as `skipped_quota` or `skipped_limit` rather than failing the entire batch.

A scanner that's been silenced by the cap will resume producing observations automatically once usage drops below the cap (e.g. at the start of the next month).

Expand Down
8 changes: 6 additions & 2 deletions contents/docs/replay-vision/running-scanners.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Sweeps run continuously – once a scanner is enabled, observations start accumu

### What happens when I change filters?

Changing a scanner's filters affects which **new** sessions match going forward. Old recordings aren't re-evaluated against the new filters. If you broaden the filters and want to backfill, trigger on-demand observations against the recordings you care about – the bulk [**Scan these recordings**](#from-the-recordings-list) action is the fastest way – or wait for new matches to come in.
Changing a scanner's filters affects which **new** sessions match going forward. Old recordings aren't re-evaluated against the new filters. If you broaden the filters and want to backfill, trigger on-demand observations against the recordings you care about – the bulk [**Scan N selected**](#from-the-recordings-list) action is the fastest way – or wait for new matches to come in.

### What happens when I disable the scanner?

Expand All @@ -62,7 +62,11 @@ On-demand triggers:

### From the recordings list

To scan a batch in one go, select recordings in the [recordings list](/docs/session-replay/how-to-watch-recordings) and choose **Scan these recordings**, then pick a scanner. Each selected session is queued as its own observation. Sessions the scanner has already observed are skipped automatically, so re-scanning a selection is safe.
The On-demand tab's recordings table has a checkbox column for multi-select. Tick individual rows or use **select all on page**, then click **Scan N selected** in the selection bar. Each selected session is queued as its own observation.

Recordings the scanner has already observed or that are currently in flight are greyed out and can't be selected — there's nothing to re-scan.

The bulk action **scans what fits**: it starts as many observations as your [concurrency limits and monthly credit quota](/docs/replay-vision/quota-and-limits) allow, then reports the rest as skipped rather than failing the whole batch. A toast notification summarizes the outcome — how many started, plus any that were skipped or failed — so you know at a glance whether a partial run happened.

This is also the fastest way to backfill after broadening a scanner's filters.

Expand Down
Loading