sentry-dotnet icon indicating copy to clipboard operation
sentry-dotnet copied to clipboard

Spike: Transactions are just spans without parents

Open jamescrosswell opened this issue 11 months ago • 1 comments

As part of:

  • https://github.com/getsentry/sentry-dotnet/issues/3159

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).

jamescrosswell avatar Mar 12 '24 23:03 jamescrosswell

Fails
:no_entry_sign: 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 :no_entry_sign: dangerJS against 84644178b6b451a475f962e5f43e1daac85f53b8

github-actions[bot] avatar Mar 12 '24 23:03 github-actions[bot]