Skip to content

Tracing without Performance #8352

Closed
Closed
@stephanie-anderson

Description

@stephanie-anderson

Problem Statement

It should be possible that tracing information is propagated from/to incoming/outgoing HTTP requests even if performance is disabled and thus no transactions/spans are available.

Solution Brainstorm

Requirements:

  1. All error, transaction and check-in events sent to Sentry always contain a Dynamic Sampling Context (trace) envelope header item.
  2. All error, transaction and check-in events sent to Sentry always contain a trace context.
  3. All outgoing HTTP requests always contain a sentry-trace and baggage header if the destination is allow-listed in [tracePropagationTargets](https://develop.sentry.dev/sdk/performance/#tracepropagationtargets).
### Part 1: Standardize `tracePropagationTargets`
- [ ] https://github.com/getsentry/sentry-javascript/pull/8395
- [ ] https://github.com/getsentry/sentry-javascript/pull/8399
- [ ] https://github.com/getsentry/sentry-docs/pull/7267
- [x] Deprecate `BrowserTracing` `tracePropogationTargets` in favour of top level option
### Part 2: Setting up PropagationContext
- [ ] https://github.com/getsentry/sentry-javascript/pull/8421
- [ ] https://github.com/getsentry/sentry-javascript/pull/8422
- [ ] https://github.com/getsentry/sentry-javascript/pull/8426
- [ ] https://github.com/getsentry/sentry-javascript/pull/8427
- [ ] https://github.com/getsentry/sentry-javascript/pull/8428
- [ ] https://github.com/getsentry/sentry-javascript/pull/8430
- [ ] https://github.com/getsentry/sentry-javascript/pull/8429
- [ ] https://github.com/getsentry/sentry-javascript/pull/8425
- [x] ~Make sure we support `sentry-trace` when it is an array~ [WON'T DO]
### Part 3: Tracing without Performance
- [ ] https://github.com/getsentry/sentry-javascript/pull/8434
- [ ] https://github.com/getsentry/sentry-javascript/pull/8449
- [ ] https://github.com/getsentry/sentry-javascript/pull/8450
- [ ] https://github.com/getsentry/sentry-javascript/pull/8458
- [ ] https://github.com/getsentry/sentry-javascript/pull/8503
- [x] Add DSC trace header to all outgoing envelopes
- [x] ~[OPTIONAL] Update transaction creation to use `PropagationContext`~ [WON'T DO]
- [ ] https://github.com/getsentry/sentry-javascript/issues/8520
### Part 5: Final touches
- [x] Run e2e test to show it works (replay, crons, errors) - head SDK + tail SDK
- [ ] https://github.com/getsentry/sentry-docs/pull/7421
- [ ] https://github.com/getsentry/sentry-javascript/pull/8517
- [ ] Write down key changes needed for React Native/Electron adopting Tracing without Performance

Metadata

Metadata

Assignees

Labels

Package: coreIssues related to the Sentry Core SDK

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions