[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
3 changed files with 9 additions and 3 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ export type LogEvents = {
secondsActive: number
}
'state:foreground': {}
'router:navigate': {}
'router:navigate:sampled': {}
// Screen events
'splash:signInPressed': {}
+6
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.