about summary refs log tree commit diff
path: root/src/lib/statsig/statsig.tsx
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-05-21 04:28:12 +0100
committerGitHub <noreply@github.com>2024-05-20 20:28:12 -0700
commitd6625c29d17b8c614b20378c2681b4774d7dd71f (patch)
treedf5e33649dc4b6b58bdc2e3f0fc5f3651b817c81 /src/lib/statsig/statsig.tsx
parent8cec1679a718e0cc6da67cf2604e6be8e9dab9a7 (diff)
downloadvoidsky-d6625c29d17b8c614b20378c2681b4774d7dd71f.tar.zst
[Statsig] Sample router events (#4143)
Diffstat (limited to 'src/lib/statsig/statsig.tsx')
-rw-r--r--src/lib/statsig/statsig.tsx6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx
index 005027820..b7299be8c 100644
--- a/src/lib/statsig/statsig.tsx
+++ b/src/lib/statsig/statsig.tsx
@@ -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.