Skip to content
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

fix(tracing): Ensure you can pass null as parentSpan in startSpan* #12928

Merged
merged 1 commit into from
Jul 16, 2024

Conversation

mydea
Copy link
Member

@mydea mydea commented Jul 16, 2024

Noticed this while writing docs, this makes this a bit harder to understand. With this change you can say that parentSpan behaves the same and accepts the same as withActiveSpan.

See getsentry/sentry-docs#10729

Copy link
Contributor

size-limit report 📦

Path Size
@sentry/browser 22.3 KB (0%)
@sentry/browser (incl. Tracing) 33.67 KB (+0.01% 🔺)
@sentry/browser (incl. Tracing, Replay) 69.76 KB (+0.01% 🔺)
@sentry/browser (incl. Tracing, Replay) - with treeshaking flags 63.06 KB (+0.01% 🔺)
@sentry/browser (incl. Tracing, Replay with Canvas) 74.15 KB (+0.01% 🔺)
@sentry/browser (incl. Tracing, Replay, Feedback) 86.47 KB (+0.01% 🔺)
@sentry/browser (incl. Tracing, Replay, Feedback, metrics) 88.34 KB (+0.01% 🔺)
@sentry/browser (incl. metrics) 26.59 KB (+0.02% 🔺)
@sentry/browser (incl. Feedback) 38.98 KB (0%)
@sentry/browser (incl. sendFeedback) 26.92 KB (0%)
@sentry/browser (incl. FeedbackAsync) 31.54 KB (0%)
@sentry/react 25.07 KB (0%)
@sentry/react (incl. Tracing) 36.74 KB (+0.01% 🔺)
@sentry/vue 26.41 KB (+0.01% 🔺)
@sentry/vue (incl. Tracing) 35.55 KB (+0.01% 🔺)
@sentry/svelte 22.44 KB (0%)
CDN Bundle 23.52 KB (0%)
CDN Bundle (incl. Tracing) 35.45 KB (+0.02% 🔺)
CDN Bundle (incl. Tracing, Replay) 69.85 KB (+0.01% 🔺)
CDN Bundle (incl. Tracing, Replay, Feedback) 75.12 KB (+0.01% 🔺)
CDN Bundle - uncompressed 69 KB (0%)
CDN Bundle (incl. Tracing) - uncompressed 104.87 KB (+0.02% 🔺)
CDN Bundle (incl. Tracing, Replay) - uncompressed 216.65 KB (+0.01% 🔺)
CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed 229.37 KB (+0.01% 🔺)
@sentry/nextjs (client) 36.6 KB (+0.01% 🔺)
@sentry/sveltekit (client) 34.33 KB (+0.01% 🔺)
@sentry/node 130.83 KB (+0.01% 🔺)
@sentry/node - without tracing 91.9 KB (0%)
@sentry/aws-serverless 117.08 KB (+0.01% 🔺)

Copy link
Member

@Lms24 Lms24 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good to me generally, just had a question

@@ -157,7 +157,7 @@ export function startInactiveSpan(options: StartSpanOptions): Span {
// If `options.parentSpan` is defined, we want to wrap the callback in `withActiveSpan`
const wrapper = options.scope
? (callback: () => Span) => withScope(options.scope, callback)
: customParentSpan
: customParentSpan !== undefined
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm I'm not sure I understand the PR description correctly but to me it looks like we're changing 2 things in this PR:

  1. make options.parentSpan accept null. This sounds fine to me, given we're aligning our public API better
  2. call withActiveSpan(null,...) in case parentSpan is null. Is this necessary? Shouldn't the behaviour be identical to simply invoking the callback?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, it is important to call withActiveSpan in this case - if you pass null, the meaning is start this span as a root span without a parent, while undefined means the default behavior (the parent is the current active span). Does that make sense?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missed this, thx for explaining!

@mydea mydea merged commit 707afd6 into develop Jul 16, 2024
121 checks passed
@mydea mydea deleted the fn/allow-parentSpan-null branch July 16, 2024 11:47
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.

None yet

3 participants