Background
A Sentry health check found several high-volume tracing spans in the App over the previous 30 days (roughly 820M spans). We should reduce spans that do not offer meaningful debugging value while preserving useful application telemetry.
Proposed solution
Review and selectively filter these sources:
- Browser resource spans —
resource.link (CSS/fonts, ~130M) and resource.script (JavaScript, ~92M). Consider filtering these browser SDK auto-instrumented spans if the Assets Dashboard is sufficient for debugging them.
- Onyx derived computations —
OnyxDerivedCompute accounts for ~24% of span volume (6–11M/day). Evaluate retaining only computations above a duration threshold, independently sampling them, or removing the instrumentation if it is not useful.
- Google Analytics/Ads requests — exclude third-party HTTP spans for
ccm/collect, rmkt/collect, pagead/form-data, and ccm/form-data (~80M+ spans) if they have no debugging value. Prefer scoping trace propagation to Expensify domains where appropriate.
- Ping heartbeat — assess whether
GET https://www.expensify.com/api/Ping (~11M spans) has troubleshooting value; exclude it if it is only a heartbeat.
Start with third-party and browser-resource spans, then review the Onyx instrumentation.
Source
https://expensify.slack.com/archives/C0A3FPPTGJY/p1789660108556719
Issue Owner
Current Issue Owner: @rlinoz
Background
A Sentry health check found several high-volume tracing spans in the App over the previous 30 days (roughly 820M spans). We should reduce spans that do not offer meaningful debugging value while preserving useful application telemetry.
Proposed solution
Review and selectively filter these sources:
resource.link(CSS/fonts, ~130M) andresource.script(JavaScript, ~92M). Consider filtering these browser SDK auto-instrumented spans if the Assets Dashboard is sufficient for debugging them.OnyxDerivedComputeaccounts for ~24% of span volume (6–11M/day). Evaluate retaining only computations above a duration threshold, independently sampling them, or removing the instrumentation if it is not useful.ccm/collect,rmkt/collect,pagead/form-data, andccm/form-data(~80M+ spans) if they have no debugging value. Prefer scoping trace propagation to Expensify domains where appropriate.GET https://www.expensify.com/api/Ping(~11M spans) has troubleshooting value; exclude it if it is only a heartbeat.Start with third-party and browser-resource spans, then review the Onyx instrumentation.
Source
https://expensify.slack.com/archives/C0A3FPPTGJY/p1789660108556719
Issue Owner
Current Issue Owner: @rlinoz