Skip to content

Commit

Permalink
fix: full snapshot every 30 minutes
Browse files Browse the repository at this point in the history
  • Loading branch information
pauldambra committed Oct 23, 2023
1 parent efb68b4 commit a7af096
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/__tests__/extensions/sessionrecording.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
RECORDING_IDLE_ACTIVITY_TIMEOUT_MS,
RECORDING_MAX_EVENT_SIZE,
SessionRecording,
THIRTY_MINUTES_IN_MS,
} from '../../extensions/sessionrecording'
import { PostHogPersistence } from '../../posthog-persistence'
import {
Expand Down Expand Up @@ -263,6 +264,7 @@ describe('SessionRecording', () => {
plugins: [],
inlineStylesheet: true,
recordCrossOriginIframes: false,
checkoutEveryNms: THIRTY_MINUTES_IN_MS,
})
})

Expand Down
14 changes: 14 additions & 0 deletions src/extensions/sessionrecording.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { logger, loadScript, _timestamp, window } from '../utils'
const BASE_ENDPOINT = '/s/'

export const RECORDING_IDLE_ACTIVITY_TIMEOUT_MS = 5 * 60 * 1000 // 5 minutes
export const THIRTY_MINUTES_IN_MS = 30 * 60 * 1000
export const RECORDING_MAX_EVENT_SIZE = 1024 * 1024 * 0.9 // ~1mb (with some wiggle room)
export const RECORDING_BUFFER_TIMEOUT = 2000 // 2 seconds
export const SESSION_RECORDING_BATCH_KEY = 'recordings'
Expand Down Expand Up @@ -326,6 +327,8 @@ export class SessionRecording {
collectFonts: false,
inlineStylesheet: true,
recordCrossOriginIframes: false,
//take a full snapshot after every N ms
checkoutEveryNms: THIRTY_MINUTES_IN_MS,
}
// We switched from loading all of rrweb to just the record part, but
// keep backwards compatibility if someone hasn't upgraded PostHog
Expand Down Expand Up @@ -401,6 +404,17 @@ export class SessionRecording {
return
}

const typeLookup = {
0: 'DomContentLoaded',
1: 'Load',
2: 'FullSnapshot',
3: 'IncrementalSnapshot',
4: 'Meta',
5: 'Custom',
6: 'Plugin',
}
logger.info('[onRRwebEmit] event type', { type: rawEvent.type, name: typeLookup[rawEvent.type] })

if (rawEvent.type === EventType.Meta) {
const href = this._maskUrl(rawEvent.data.href)
if (!href) {
Expand Down

0 comments on commit a7af096

Please sign in to comment.