-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Why does distributed tracing enforce profiling? #7409
Comments
Assigning to @getsentry/support for routing ⏲️ |
Hey @oliversalzburg, thanks for writing in. Performance monitoring generates spans, which is what distributed tracing uses to establish parent child relationships between different services (span on X service -> span on Y service). Detailed docs on this can be seen here. We recognize that this is not always ideal though. In the next release of the Node SDK (so serverless as well), we'll be releasing support for tracing without performance, which allows you to do distributed tracing without turning on performance monitoring. Please follow along progress on that here: getsentry/sentry-javascript#8352 |
Could you elaborate on why this was difficult for you? Was there something in https://docs.sentry.io/platforms/node/guides/aws-lambda/performance/instrumentation/automatic-instrumentation that did not work? |
Routing to @getsentry/product-owners-performance for triage ⏲️ |
Hi @oliversalzburg! I just wanted to clarify a couple of things. First, this might just be a terminology thing, but distributed tracing doesn't require Profilling, but it does require performance monitoring since that's what actually creates the traces being distributed. Or at least, it used to! But there's been some work recently to have existing traces propagate properly even if intermediate steps don't have performance monitoring enabled. See for example the release notes for v7.58.0 of our Javascript SDK. I believe it is also available in Python and Java. @AbhiPrasad, since I saw you worked on that feature - would it be appropriate to update the Distributed Tracing docs to mention that performance monitoring is no longer required for some SDKs? |
Docs updates are on the way! In Python and PHP (SDKs that support tracing without performance), we've already updated the docs. |
Of course, you guys are right. Sorry for my confusion, and thanks for all the explanation. Funny enough that I read the release notes earlier today and was like "You got to be kidding me!" 😂 Now back to finding out why the frontend and backend traces are actually not connected in the Sentry UI... |
Core or SDK?
Platform/SDK
Which part? Which one?
AWS Lambda
Description
The documentation states that I require performance monitoring to be enabled to make use of distributed tracing at all. Why?
To me as a consumer the connection between these two aspects are entirely unclear. Also, trying to integrate profiling into AWS Lambda was an absolute mess. So requiring this to be able to connect frontend and backend traces seems counter-intuitive.
Or maybe I'm misunderstanding?
Suggested Solution
I have none.
The text was updated successfully, but these errors were encountered: