Skip to content

Stability : Tracing #977

Open
Open

Description

@hdost

This is a tracking ticket to cover the steps and have a wholistic view over the Tracing
Multiple members should cross validate, and create issues under the API Milestone for any potential blockers

Stability API

For what is defined as stable for tracing:

We're defining stable as:

  • opentelemetry-api tracing
  • opentelemetry-sdk tracing
  • opentelemetry-jaeger - Jaeger is the most used exporter.(Deprecated aslo)
  • opentelemetry-otlp tracing

Zipkin can be stable after GA for tracing.

Docs:

Validate:
https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md#traces

Historical #330

Activity

  1. hdost commented on Feb 28, 2023

    @hdost
    ContributorAuthor

    @open-telemetry/rust-approvers It's been a couple months like this, I know I'm not as active as the rest of you, but I feel like this wasn't intended.

  2. jtescher commented on Feb 28, 2023

    @jtescher
    Member

    Yeah we're not currently 1.0, but we're pretty close to stable with tracing could probably commit to a 1.0 at this point and do a 2.0 if we need breaking changes.

  3. hdost commented on Feb 28, 2023

    @hdost
    ContributorAuthor

    Perhaps we could add any last tickets to get it to Stable in https://github.com/open-telemetry/opentelemetry-rust/milestone/1

  4. TommyCpp commented on Feb 28, 2023

    @TommyCpp
    Contributor

    Yeah I like the idea to be more organzied on our milestone.

  5. hdost commented on Mar 2, 2023

    @hdost
    ContributorAuthor

    I added basically everything related to core SDK functionality to the stabilization, if there's anything that could done after then I'd say feel free to add labels.
    I created a few
    release:after-stable
    release:allowed-for-stable
    release:required-for-stable
    I modeled them off the Specification Repo's GA related ones.

  6. hdost commented on Nov 1, 2023

    @hdost
    ContributorAuthor

    For spec adherence maybe we stick with a specific release for now https://github.com/open-telemetry/opentelemetry-specification/releases/tag/v1.26.0 is the lastest. And then if something comes in then we can can defer for the purpose of getting to stable. Typically this will be better since the spec is only point releases.

  7. pinned this issue on Feb 24, 2024
  8. unpinned this issue on May 24, 2024
  9. darkraider01 commented on Sep 28, 2026

    @darkraider01
    Member

    Edit : I refreshed this, the 0.33 release notes, docs/traces.md, the current Rust compliance matrix, and the referenced issues/PRs. All three tracing components remain Beta. The old tracker checklist is stale in several places; open issues and -/? matrix entries still need to be classified before calling them Stable blockers.

    Detailed notes: Tracing Stabilization Tracker

    Tracing API

    Tracing SDK

    Tracing OTLP

    Docs / compliance

    • Unclear control flow #828 is now closed, but docs/traces.md is still marked Work-In-Progress and lists gaps. Review what documentation is required for Stable.
    • Document spec deviations with rationale #1297 remains open and labeled release:required-for-stable for documenting intentional spec deviations.
    • Refresh the compliance matrix as a code-level audit, separating Stable requirements, optional/Development features, intentional deviations, and stale entries. Do not treat every - or ? as missing Stable work without checking the current spec and implementation.

    Decisions still needed

    1. Which of SpanId and TraceId improvements and their usage in SpanData #1115, Design of SpanBuilder not aligned with goals of sampling? #1109, SpanEvents - API makes decision on the data structures #2751, Otel API should not enforce attribute or event limits #2752, fix(context)!: replace over-broad FutureExt with precise extension traits #3655, and Add Tracer::enabled() API for early span creation checks #3781 are mandatory before Traces API Stable?
    2. Is Stabilize support for async runtimes #2643 runtime stabilization required for the first Stable Traces SDK release, and which design should be adopted?
    3. Which of Enforce timeouts #2576, Fix telemetry-induced-telemetry in OTLP Exporter #2877, Simplify opentelemetry-proto: SDK decoupling, gRPC separation #3045, OTLP Exporters - should we validate user supplied headers #3115, and Contract Testing Tracing OTLP #1322 block OTLP Traces Stable?
    4. Which Stable specification release is the compliance baseline, and which matrix entries are implementation gaps, accepted deviations, or stale?

    Other completed work confirmed in this pass: #3206 partial success, #3621 retries, #3685 sampler branches, and #3725 Hyper response-body timeout enforcement have merged. The 0.33 notes also record compression/config cleanup and request/response limits. #828 is closed, though the tracing guide remains WIP.

    Final-sweep addendum — 2026-10-08

    TraceState parsing and propagation

    opentelemetry-appender-tracing work

    This tracing-to-logs bridge was not part of the original Stable scope list. If the project intends to include it, #3543 remains an open issue about incorrect event metadata under experimental_span_attributes. #3498 is an open collision-policy proposal that overlaps with #3497, the Logs SDK attribute-deduplication proposal. Decide these together; neither is currently established as a Traces API/SDK blocker.

    Other active PRs related to compliance and OTLP

    Additional open milestone items surfaced

    The open milestone/label sweep found older tickets absent from the notes above. Their labels are evidence of prior intent, not proof that each remains a current blocker; verify applicability and either add them to the agreed blocker list or explicitly defer them.

    • Required-for-Stable tickets not covered above: #1411 (cross-cutting feature naming), #1263 (crate naming), #936 (non-OpenSSL builds), #888 (Jaeger span loss/nesting), and #542 (flush spans on panic=abort). Confirm whether these are still relevant to the current release scope.
    • Other open API milestone items: #2742 (connect Tracer and SpanBuilder), #1300 (attribute deduplication), #1025 (cancel/drop a span without recording), and #1125 (instrumentation-scope data performance). Classify these as API decisions, optional behavior, or performance work rather than assuming they block Stable.
    • Tickets labeled release:allowed-for-stable include #890 (SDK autoconfiguration), #857 (decode OTEL_RESOURCE_ATTRIBUTES values), and #1285 (configure tonic gRPC message sizes). Keep these separate from required blockers unless the scope changes.
    • #2802, in the consolidated OTLP milestone, is specifically a MetricExporter deadlock; it is metrics work, not a Traces OTLP blocker.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-traceArea: issues related to tracingrelease:required-for-stableMust be resolved before GA release, or nice to have before GA.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions