Skip to content

Feedback and questions from @discostu105 #6

@SergeyKanzhelev

Description

@SergeyKanzhelev

A couple of notes from @discostu105:

Field identifiers in traceparent raise a couple of questions:

  • Can the order of trace-id, parent-id, trace-flags be changed?
  • Is it possible to leave some one of these identifiers out?
  • Can I add my personal custom identifiers?
  • Do I have to error-check a tag to assert the identifiers are correct or should I just ignore them?

In text-format of TraceContext, none one these fields are really optional, even in future versions we defined to only "expand". What's the benefit of field identifiers, vs. defining fixed-size fields in specified order?

tracestate ASCII entries: For our Dynatrace tracestate entry we would technically be able to generate a binary version too. We already use it today for tracing in various binary protocols and it has size/perf benefits. When using binary TraceContext we would be forced to use the ASCII version of our tag. Of course that's possible, but we'd lose the size/perf benefits. This is a tricky one to solve though. If a tracer needs to convert TraceContext with foreign tracestate entries from binary to text or vice-versa, it needs to know how to do that. We'd need to add a type (text or binary) to the tracestate entry.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions