getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
38.53k stars 4.12k forks source link

Span `timeline_exceeded` status can be misleading #76264

Open bruno-garcia opened 4 weeks ago

bruno-garcia commented 4 weeks ago

For the first 2 years of the performance product, Transactions required a complete list of spans (aka: spans needed a start and end timestamps) to be accepted by Sentry.

For that reason, all SDKs had to deal with spans that were not yet completed, when a transaction was finished. A pattern at the time was to finish the span using the timeline_exceeded status.

In 2021, we had a DACI to change that behavior. And in 2022 Relay was changed to no longer required all spans to be completed. Giving flexibility to what happens in those cases. Even though at this time it continued with the behavior of setting a end timestamp matching the transaction end timestamp and status timeline_exceeded:

Problem with these solution:

This came up recently internally with @thinkocapo: https://www.notion.so/sentry/HTTP-Spans-Deadline-Exceeded-Skewing-Insights-Requests-edab31417a894c5abba14e0d4c3f18e3

getsantry[bot] commented 4 weeks ago

Routing to @getsentry/product-owners-performance for triage ⏲️