Evaluate `SpanStatus` against the sentry.status convention
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 活跃
- 技术栈
- rust
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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 removedunsetfrom that set. - Relay still parses the transaction/v1
statuswith the legacy enum inrelay-base-schema/src/spans.rs. That enum accepts the 17 statuses plus the aliasessuccess,failureandunknown_error, but rejects"error". Its comment says it's stored as au8in Snuba/ClickHouse. - Relay converts v1 spans to v2 by mapping
oktookand every other status toerror(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.statusas set during ingestion: v2 spans can only beokorerror, while v1 spans have the longer list. - The span-first SDK spec sets the span
statusto either"ok"or"error", andsetStatusaccepts'ok' | 'error'(develop docs).
Open questions:
- Should
SpanStatuschange 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.
--
- 主要语言
- Rust
- 星标
- 754
- 派生
- 192
- 平均合并
- 2 天 20 小时
- 30 天内合并 PR
- 21
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
getsentry/sentry-rust 的其他 Issue
-
breaking change
难度 2/5 1-3 小时 新手友好度 65/100
getsentry/sentry-rust#1387 · 1 条评论 ·
维护者通常 2 天内回复
-
breaking change Rust
难度 2/5 1-3 小时 新手友好度 68/100
getsentry/sentry-rust#1386 · 1 条评论 ·
维护者通常 2 天内回复
-
breaking change Rust Task
难度 2/5 1-3 小时 新手友好度 65/100
getsentry/sentry-rust#1345 · 1 条评论 ·
维护者通常 2 天内回复
-
Rust Task
难度 2/5 1-3 小时 新手友好度 62/100
getsentry/sentry-rust#933 · 1 条评论 ·
维护者通常 2 天内回复
-
Support setting span status from tracing span fields可能已有人在做 @sentry-junior 于 5 天前认领。 未关闭Feature Rust Spans
难度 4/5 3-5 天 新手友好度 58/100
getsentry/sentry-rust#1398 · 1 条评论 ·
维护者通常 2 天内回复
查看 getsentry/sentry-rust 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
cloudflare/workers-rs#1130 ·
维护者通常 11 天内回复
-
难度 2/5 1-3 小时 新手友好度 69/100
vfarcic/dot-agent-deck#2160 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 82/100
RustCrypto/utils#1597 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复