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

Adding request data to Transactions and Spans #443

Closed
relaxolotl opened this issue Mar 8, 2022 · 1 comment
Closed

Adding request data to Transactions and Spans #443

relaxolotl opened this issue Mar 8, 2022 · 1 comment
Labels
enhancement tracing also known as performance monitoring, stuff like transactions and spans.

Comments

@relaxolotl
Copy link
Contributor

Spun off of #439. Jess has opened up a PR which adds in basic functionality to include request data with Transactions and Spans, which works quite well. However, it does deviate from what the other SDKs to in order to accomplish the same thing.

Using the Python SDK as an example, other SDKs use event processors to attach request data to Transactions. An additional expectation is that integrations handle this under the hood for most users, so in most situations a user should not need to manually attach this data themselves. Besides the Java SDK, most SDKs don't expose request setters and getters on Transactions or Spans. If we stick with the API introduced in #439, this SDK will be deviating from sentry's implicit unified performance API.

Unfortunately, the Rust SDK can't easily extend event_processor to follow the example set by other SDKs: While other SDKs model Transactions as Events with a field to differentiate Transactions from "regular" Events (ie inheritance), Transactions and Events are two distinctly separate types in the Rust SDK.

This issue is meant to capture the discussion and eventual decision regarding what form such an API should look like in this SDK, especially if the conclusion that doing something different from the rest of the other SDKs is worth the tradeoff.

@relaxolotl relaxolotl added enhancement tracing also known as performance monitoring, stuff like transactions and spans. labels Mar 25, 2022
@smeubank
Copy link
Member

this SDK will be deviating from sentry's implicit unified performance API.
we do not adhere to the unified performance API, and largely have agreed that it is not something we want to continue following. And instead just follow pragmatic best principle for a given programming language

it has been marked as deprecated accordingly.

I think this issue is more of a discussion, I will close it for now

If there is interest to reopen. We can disregard the unified API and focus on what problems we want to solve for Rust developers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement tracing also known as performance monitoring, stuff like transactions and spans.
Projects
None yet
Development

No branches or pull requests

2 participants