Contexte
Audit SDK : stack en string brute, pas de frames, pas de dedup, label source seul.
Scope
- Flag
handled (mechanism), parse des stack frames.
- Dedup par stack + fingerprint.
- Capter
securitypolicyviolation (CSP) + resource-load errors.
Références
Sentry dedupeIntegration + globalHandlers mechanism ; Faro enableContentSecurityPolicyInstrumentation (la CSP est chez Faro, pas Sentry).
Effort : M — Valeur : Moyen-Haut. Companion bworlds requis (grouping/fingerprint côté ingest), voir l'épic.
Sources d'analyse. Née d'un audit de conception du SDK @bworlds/launchkit v1.15.0 vs état de l'art (benchmark open-source de la capture d'infos).
Références comparées en source réelle : rrweb (rrweb-io/rrweb), PostHog (PostHog/posthog-js), Sentry (getsentry/sentry-javascript — packages/browser, packages/replay-internal), OpenReplay (openreplay/openreplay), Datadog RUM (DataDog/browser-sdk), Grafana Faro (grafana/faro-web-sdk), lib GoogleChrome/web-vitals. Contrainte transport (plafond 64 KiB partagé sendBeacon/keepalive) : Fetch spec + Sentry #1464.
Note honnêteté : la CSP est vérifiée chez Faro (enableContentSecurityPolicyInstrumentation), pas Sentry ; les défauts PostHog dead-clicks/exceptions sont remote-config-gated (non hardcodés).
Contexte
Audit SDK : stack en string brute, pas de frames, pas de dedup, label
sourceseul.Scope
handled(mechanism), parse des stack frames.securitypolicyviolation(CSP) + resource-load errors.Références
Sentry
dedupeIntegration+ globalHandlers mechanism ; FaroenableContentSecurityPolicyInstrumentation(la CSP est chez Faro, pas Sentry).Effort : M — Valeur : Moyen-Haut. Companion bworlds requis (grouping/fingerprint côté ingest), voir l'épic.
Sources d'analyse. Née d'un audit de conception du SDK
@bworlds/launchkitv1.15.0 vs état de l'art (benchmark open-source de la capture d'infos).Références comparées en source réelle : rrweb (
rrweb-io/rrweb), PostHog (PostHog/posthog-js), Sentry (getsentry/sentry-javascript—packages/browser,packages/replay-internal), OpenReplay (openreplay/openreplay), Datadog RUM (DataDog/browser-sdk), Grafana Faro (grafana/faro-web-sdk), libGoogleChrome/web-vitals. Contrainte transport (plafond 64 KiB partagésendBeacon/keepalive) : Fetch spec + Sentry #1464.Note honnêteté : la CSP est vérifiée chez Faro (
enableContentSecurityPolicyInstrumentation), pas Sentry ; les défauts PostHog dead-clicks/exceptions sont remote-config-gated (non hardcodés).