Skip to content

feat(core): Implement startIdleSpan #10934

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 6, 2024
Merged

feat(core): Implement startIdleSpan #10934

merged 2 commits into from
Mar 6, 2024

Conversation

mydea
Copy link
Member

@mydea mydea commented Mar 5, 2024

For now, this does not actually use this anywhere.

The idle span works mostly like the idle transaction, but there are small differences:

  1. I replaced the heartbeat with simply waiting for 15s (instead of 3x5s) after the last span was started. IMHO semantically this is good enough, and makes it easier to reason about this? LMK if I am missing something there.
  2. This means that the idle span ends when either:
    a. No span was created for 1s
    b. The last time a span was created was 15s ago
    c. 30s passed (final timeout)
  3. Instead of the delayAutoFinishUntilSignal we used before for e.g. Next.js streaming pages, we now have disableAutoFinish, together with client.emit('idleSpanEnableAutoFinish', idleSpan)
  4. Idle spans are always on the scope (we never used it without this setting)
  5. You can directly pass beforeSpanEnd (instead of registerBeforeFinishCallback()), which we can use for web vital collection etc.

@mydea mydea requested review from lforst, Lms24, AbhiPrasad and s1gr1d March 5, 2024 16:23
@mydea mydea self-assigned this Mar 5, 2024
Copy link
Contributor

github-actions bot commented Mar 5, 2024

size-limit report 📦

Path Size
@sentry/browser (incl. Tracing, Replay, Feedback) - Webpack (gzipped) 77.45 KB (+0.1% 🔺)
@sentry/browser (incl. Tracing, Replay) - Webpack (gzipped) 68.64 KB (+0.09% 🔺)
@sentry/browser (incl. Tracing, Replay with Canvas) - Webpack (gzipped) 72.56 KB (+0.09% 🔺)
@sentry/browser (incl. Tracing, Replay) - Webpack with treeshaking flags (gzipped) 62.21 KB (+0.1% 🔺)
@sentry/browser (incl. Tracing) - Webpack (gzipped) 32.9 KB (+0.18% 🔺)
@sentry/browser (incl. browserTracingIntegration) - Webpack (gzipped) 32.9 KB (+0.18% 🔺)
@sentry/browser (incl. Feedback) - Webpack (gzipped) 31.34 KB (0%)
@sentry/browser (incl. sendFeedback) - Webpack (gzipped) 31.35 KB (0%)
@sentry/browser - Webpack (gzipped) 22.56 KB (0%)
@sentry/browser (incl. Tracing, Replay, Feedback) - ES6 CDN Bundle (gzipped) 75.53 KB (+0.13% 🔺)
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (gzipped) 67.12 KB (+0.11% 🔺)
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (gzipped) 32.99 KB (+0.25% 🔺)
@sentry/browser - ES6 CDN Bundle (gzipped) 23.97 KB (0%)
@sentry/browser (incl. Tracing, Replay) - ES6 CDN Bundle (minified & uncompressed) 210.74 KB (+0.1% 🔺)
@sentry/browser (incl. Tracing) - ES6 CDN Bundle (minified & uncompressed) 99.55 KB (+0.21% 🔺)
@sentry/browser - ES6 CDN Bundle (minified & uncompressed) 71.65 KB (0%)
@sentry/browser (incl. Tracing) - ES5 CDN Bundle (gzipped) 36.15 KB (+0.27% 🔺)
@sentry/react (incl. Tracing, Replay) - Webpack (gzipped) 68.93 KB (+0.09% 🔺)
@sentry/react - Webpack (gzipped) 22.59 KB (0%)
@sentry/nextjs Client (incl. Tracing, Replay) - Webpack (gzipped) 85.35 KB (+0.07% 🔺)
@sentry/nextjs Client - Webpack (gzipped) 49.76 KB (+0.12% 🔺)
@sentry-internal/feedback - Webpack (gzipped) 17.41 KB (0%)

@mydea mydea merged commit 82c356d into develop Mar 6, 2024
@mydea mydea deleted the fn/idle-span branch March 6, 2024 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants