getsentry / getsentry/sentry-javascript

Add trace id in Sentry Event when `tracesSampleRate` is set to 0 in Cloudflare

Ouverte
#22,214 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Cloudflare Workers Feature
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.