Skip to content

Tracing without Performance #8352

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions