Evaluate `SpanStatus` against the sentry.status convention

Aperta
#1,401 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
rust

Direzione di ricerca

Start by reading the SpanStatus documentation linked in the issue, then compare it with the span protocol specification and Relay’s v1 and v2 status handling in the referenced files. The issue asks for a design decision across transaction serialization, future span-first support, and integrations such as Actix, Tower, and OpenTelemetry. Done means resolving those questions and documenting the chosen compatibility approach.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Spans Task Traces

The sentry.status convention allows only "ok" and "error", and marks more specific errors set by older SDKs as deprecated. SpanStatus still uses the older set of 17 statuses (not_found, internal_error, ...) and has no error variant. Evaluate how SpanStatus should relate to the convention. This was split out of #1399, which only touches the sentry-tracing field.

Context from Relay and the conventions:

  • The two-value status belongs to the span-first (v2) protocol. Relay's SpanV2Status (ok, error, plus a catch-all variant) was added in getsentry/relay#4717 (2025-05-14) as a subset of the OTel statuses. A review thread there removed unset from that set.
  • Relay still parses the transaction/v1 status with the legacy enum in relay-base-schema/src/spans.rs. That enum accepts the 17 statuses plus the aliases success, failure and unknown_error, but rejects "error". Its comment says it's stored as a u8 in Snuba/ClickHouse.
  • Relay converts v1 spans to v2 by mapping ok to ok and every other status to error (relay-spans/src/v1_to_v2.rs, added in getsentry/relay#5139).
  • The convention was added in getsentry/sentry-conventions#453 (2026-06-26). It describes sentry.status as set during ingestion: v2 spans can only be ok or error, while v1 spans have the longer list.
  • The span-first SDK spec sets the span status to either "ok" or "error", and setStatus accepts 'ok' | 'error' (develop docs).

Open questions:

  • Should SpanStatus change while the SDK sends transactions, given that Relay's transaction parser rejects "error"?
  • How should this tie in with span-first support in the Rust SDK?
  • How should the existing variants and the integrations that set them (Actix, Tower, OpenTelemetry) be handled?

References #1398

via @szokeasaurusrex.

--

View Session [Sentry]

Lingua principale
Rust
Stelle
754
Fork
192
Merge medio
2g 20h
PR unite (30g)
21

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di getsentry/sentry-rust

Tutte le issue di getsentry/sentry-rust

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.