open-telemetry / open-telemetry/opentelemetry-specification
Sampling: Introduce decision/flag to not propagate a span.
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 4.3k
- Forks
- 1k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 25
Description
An idea that I had for https://github.com/open-telemetry/opentelemetry-specification/pull/1653#issuecomment-830025528: With the current sampling decisions, you cannot suppress propagation of a Span. You can only influence the sampled flag on the traceflags. In some situations it might be desired to not propagate the span at all cross-process, i.e. cause inject(context) to be a no-op (for the Span part of the context).
This could be added as a new sampling decision that is otherwise equivalent to DROP, or it could be added as an additional boolean flag orthogonal to the current sampling decisions to also allow e.g. RECORDING spans that are only propagated in-process (could be used in combination with the URL which might be available to samplers to not propagate span contexts to external services).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the sampling decisions and context propagation behavior described in the issue, then read the referenced OpenTelemetry specification PR and comment. Compare the proposed new decision with the orthogonal-flag option, and define the resulting inject(context) behavior and compatibility expectations as the completion criteria.
Written by the indexing model from the issue text.
Assessment
- Domain
- distributed-systems, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100