You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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
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.
The text was updated successfully, but these errors were encountered: