Skip to content

B3 single-header debug extraction should imply sampled #3810

Open

Description

@scottgerring

Description

opentelemetry-propagator-b3 mishandles a valid single-header B3 debug context such as:

b3: 4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-d

With Propagator::new(), extraction returns an invalid context because handling of d incorrectly depends on the configured injection encoding. With single-header injection enabled, the context is extracted as debug but not sampled, so a parent-based sampler can drop child spans.

The B3 specification defines debug as an emphasised accept decision, so d must imply sampled.

Expected behaviour

Single-header d is extracted for every injection configuration as debug plus sampled. X-B3-Sampled: d remains invalid because multiple-header debug uses X-B3-Flags: 1.

Related

A fix and regression test were proposed in #3752.

Activity

  1. added
    bugSomething isn't working
    A-traceArea: issues related to tracing
    triage:acceptedHas been triaged and accepted.
    on Oct 22, 2026
  2. darkraider01 commented on Oct 22, 2026

    @darkraider01
    Member

    can i pick this?

  3. scottgerring commented on Oct 22, 2026

    @scottgerring
    MemberAuthor

    2. can i pick this?

    there's an almost-complete PR linked in #3752 ; let's give the author a couple days to see if they would like to finish it !

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 tracingbugSomething isn't workingtriage:acceptedHas been triaged and accepted.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions