[Statsig] Sample router events (#4143)

This commit is contained in:
dan 2024-05-21 04:28:12 +01:00 committed by GitHub
parent 8cec1679a7
commit d6625c29d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 3 deletions

View file

@ -24,7 +24,7 @@ export type LogEvents = {
secondsActive: number
}
'state:foreground': {}
'router:navigate': {}
'router:navigate:sampled': {}
// Screen events
'splash:signInPressed': {}

View file

@ -85,11 +85,17 @@ export function toClout(n: number | null | undefined): number | undefined {
}
}
const DOWNSAMPLED_EVENTS = new Set(['router:navigate:sampled'])
const isDownsampledSession = Math.random() < 0.9 // 90% likely
export function logEvent<E extends keyof LogEvents>(
eventName: E & string,
rawMetadata: LogEvents[E] & FlatJSONRecord,
) {
try {
if (isDownsampledSession && DOWNSAMPLED_EVENTS.has(eventName)) {
return
}
const fullMetadata = {
...rawMetadata,
} as Record<string, string> // Statsig typings are unnecessarily strict here.