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

Spike: Transactions are just spans without parents #3213

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

jamescrosswell
Copy link
Collaborator

@jamescrosswell jamescrosswell commented Mar 12, 2024

As part of:

This is an experiment in removing the distinction between Transactions and Spans.

Assumes no data loss

In this PR we've assumed the transition would be non-lossy, so we've given SpanTracer all the extra properties and methods that TransactionTracer has (see link).

I'm not yet sure if this is how Sentry plans to make this work. An alternative could be to downgrade Spans that have no parent (i.e. what we now consider Transactions) to carry only the same subset of information found in Spans today. My guess is that we're unlikely to do that though as customers would then have less information available to them.

Next Steps - Serialization

I need more information about how Sentry's servers will be changed in order to make corresponding changes to SentryTransaction and SentrySpan (those are the immutable DTO's that are used to serialize information captured by the tracers and send that info to Sentry). I've heard rumours that Sentry server might be able to accept envelopes containing only spans (with no associated transaction) but I'm not sure if this is true and, if so, what properties those spans support (see above - are we making them super spans or will the transition be lossy).

Copy link
Contributor

Fails
🚫 Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased

- Transactions are just spans without parents ([#3213](https://github.com/getsentry/sentry-dotnet/pull/3213))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 8464417

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant