getsentry / getsentry/sentry-javascript
Add trace id in Sentry Event when `tracesSampleRate` is set to 0 in Cloudflare
- Langage dominant
- TypeScript
- Étoiles
- 8.7k
- Forks
- 1.8k
- Merge moyen
- 1 j 17 h
- PR mergées (30 j)
- 515
Description
### Problem Statement
A new option called `Tracing` has been added in Cloudflare Wrangler types v5:
```js
export interface Tracing {
enterSpan(
name: string,
callback: (span: Span, ...args: A) => T,
...args: A
): T;
startActiveSpan(
name: string,
callback: (span: Span, ...args: A) => T,
...args: A
): T;
Span: typeof Span;
}
export declare abstract class Span {
get isTraced(): boolean;
setAttribute(key: string, value?: boolean | number | string): void;
end(): void;
}
```
This will be added when tracing has been enabled by the wrangler config. When `tracesSampleRate` is set to 0 the Error triggered from Sentry has no trace id. When there is a trace drain from Cloudflare to Sentry then this error won't be attached properly. It'd work when the Error/Event would have a trace id attached.
### Solution Brainstorm
Based on the the type there is no trace id, so let's see if there is any way to retrieve it, or only Tailworker have access to it (since they have a `SpanContext` attached in their type
### Additional Context
_No response_
### Priority
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding `+1` or `me too`, to help us triage it.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
The issue does not name files or tests. Start by locating the Cloudflare runtime integration and Sentry event construction, then determine whether the Wrangler tracing APIs expose a trace ID when tracesSampleRate is 0. Done means Cloudflare-drained errors are attached to the corresponding Sentry trace, with coverage for the supported behavior.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- observability-sre
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100