Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Probability sampling in tracestate specification #2047

Merged
merged 67 commits into from Jan 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
c17d841
draft tracestate probability sampling spec
jmacd Oct 19, 2021
37616be
14 res
jmacd Oct 20, 2021
a6318b9
Merge branch 'main' of github.com:open-telemetry/opentelemetry-specif…
jmacd Oct 21, 2021
882c33d
Merge branch 'main' of github.com:open-telemetry/opentelemetry-specif…
jmacd Oct 25, 2021
780a7a2
require samplers
jmacd Oct 25, 2021
64146a6
move requirements
jmacd Oct 26, 2021
68fb444
note
jmacd Oct 26, 2021
541e2f4
Merge branch 'main' into jmacd/sampling_spec2
carlosalberto Nov 1, 2021
f02863e
add test spec
jmacd Nov 2, 2021
d9b97a6
Merge branch 'jmacd/sampling_spec2' of github.com:jmacd/opentelemetry…
jmacd Nov 2, 2021
93fdd0c
update test spec with more clarity
jmacd Nov 2, 2021
18c2904
use r:62 in examples (which is in-range)
jmacd Nov 2, 2021
29e3430
reformat test spec table
jmacd Nov 2, 2021
269bdc5
toc
jmacd Nov 2, 2021
ed02c37
give each requirement a name
jmacd Nov 2, 2021
14dac18
add test guidance
jmacd Nov 2, 2021
cc2e858
Merge branch 'main' of github.com:open-telemetry/opentelemetry-specif…
jmacd Nov 4, 2021
30b4f34
table origin=1
jmacd Nov 4, 2021
67dd0d6
remove the probability-of-r-value column, it causes confusion
jmacd Nov 4, 2021
1c510d7
Reformat probability of r-value; add r-value requirement
jmacd Nov 4, 2021
b04c56d
reorganize (partly) as suggested by yuri
jmacd Nov 4, 2021
cf6c2af
reorder sections
jmacd Nov 4, 2021
11fdaae
typeo
jmacd Nov 4, 2021
961fbef
revise power-of-two sampling intro
jmacd Nov 4, 2021
e3f9f0b
toc
jmacd Nov 4, 2021
8a01692
clarify producer recommendations re: use of non-powers-of-two
jmacd Nov 5, 2021
a38e321
Rephrase consistency guarantees
jmacd Nov 8, 2021
514545a
Apply suggestions from code review
jmacd Nov 16, 2021
93a9b37
one keyword
jmacd Nov 16, 2021
c497172
minor rephrasing
jmacd Nov 16, 2021
85c8939
one paragraph from Peter F and correct the definition of complete sub…
jmacd Nov 16, 2021
9e2c71c
Merge branch 'main' into jmacd/sampling_spec2
jmacd Nov 16, 2021
cbc3852
Apply suggestions from code review
jmacd Nov 17, 2021
fb2827d
Merge branch 'main' into jmacd/sampling_spec2
jmacd Nov 17, 2021
7bef7a4
Merge branch 'main' into jmacd/sampling_spec2
carlosalberto Nov 23, 2021
b46d058
Merge branch 'main' of github.com:open-telemetry/opentelemetry-specif…
jmacd Nov 29, 2021
58d8981
Merge branch 'jmacd/sampling_spec2' of github.com:jmacd/opentelemetry…
jmacd Nov 29, 2021
2d9d7ff
more producer/consumer recommendations
jmacd Nov 30, 2021
3c0dfd8
lint
jmacd Nov 30, 2021
ddf4fdf
lint
jmacd Nov 30, 2021
86f50dd
eliminate API compatibility with ParentBased
jmacd Nov 30, 2021
f7414d0
Merge branch 'main' into jmacd/sampling_spec2
jmacd Dec 1, 2021
0c2b1cd
add examples
jmacd Dec 7, 2021
318bdd2
categorize and summarize adjusted count
jmacd Dec 7, 2021
5879cfa
move table of r-value probabilities to an appendix
jmacd Dec 7, 2021
73622fe
Merge branch 'main' of github.com:open-telemetry/opentelemetry-specif…
jmacd Dec 7, 2021
299d2ac
Merge branch 'jmacd/sampling_spec2' of github.com:jmacd/opentelemetry…
jmacd Dec 7, 2021
0da323d
add composition examples
jmacd Dec 8, 2021
a3534ec
Merge branch 'main' into jmacd/sampling_spec2
jmacd Dec 8, 2021
bdf2b03
Merge branch 'main' of github.com:open-telemetry/opentelemetry-specif…
jmacd Dec 9, 2021
54209de
Merge branch 'jmacd/sampling_spec2' of github.com:jmacd/opentelemetry…
jmacd Dec 9, 2021
7c374c2
clarify the zero special case
jmacd Dec 9, 2021
81a6b07
sampler examples
jmacd Dec 9, 2021
9f951de
TOC
jmacd Dec 9, 2021
eb645ef
Changelog
jmacd Dec 9, 2021
d18cdd2
Merge branch 'main' of github.com:open-telemetry/opentelemetry-specif…
jmacd Jan 4, 2022
5a78017
rewrite top matter using input from @bdarfler
jmacd Jan 4, 2022
7b90384
sampling->sampled
jmacd Jan 4, 2022
6de220e
typo
jmacd Jan 4, 2022
f568ed4
rephrase
jmacd Jan 4, 2022
0fc9a3e
Update specification/trace/tracestate-probability-sampling.md
jmacd Jan 5, 2022
71c4ce9
Merge branch 'main' of github.com:open-telemetry/opentelemetry-specif…
jmacd Jan 18, 2022
055b921
conform to syntax of https://github.com/open-telemetry/opentelemetry-…
jmacd Jan 18, 2022
7d91729
Merge branch 'jmacd/sampling_spec2' of github.com:jmacd/opentelemetry…
jmacd Jan 18, 2022
4b32c69
Merge branch 'main' into jmacd/sampling_spec2
jmacd Jan 24, 2022
fa83099
Merge branch 'main' into jmacd/sampling_spec2
carlosalberto Jan 26, 2022
b349090
Merge branch 'main' into jmacd/sampling_spec2
jmacd Jan 26, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Expand Up @@ -14,6 +14,9 @@ release.
- Clarify `StartSpan` returning the parent as a non-recording Span when no SDK
is in use
([#2121](https://github.com/open-telemetry/opentelemetry-specification/pull/2121))
- Add support for probability sampling in the OpenTelemetry `tracestate` entry and
add optional specification for consistent probability sampling.
([#2047](https://github.com/open-telemetry/opentelemetry-specification/pull/2047))

### Metrics

Expand Down
6 changes: 3 additions & 3 deletions specification/trace/tracestate-handling.md
Expand Up @@ -10,7 +10,7 @@ When setting [TraceState](api.md#tracestate) values that are part of the OTel ec
they MUST all be contained in a single entry using the `ot` key, with the value being
a semicolon separated list of key-value pairs such as:

* `ot=p:8;r:64`
* `ot=p:8;r:62`
* `ot=foo:bar;k1:13`

The [TraceContext](https://www.w3.org/TR/trace-context/) specification defines support for multiple "tenants" each to use their own `tracestate` entry by prefixing `tenant@` to tenant-specific values in a mixed tracing environment. OpenTelemetry recognizes this syntax but does not specify an interpretation for multi-tenant `tracestate`.
Expand Down Expand Up @@ -65,8 +65,8 @@ Set values MUST be either updated or added to the `ot` entry in `TraceState`,
in order to preserve existing values belonging to other OTel concerns. For example,
if a given concern K wants to set `k1:13`:

* `ot=p:8;r:64` will become `ot=p:8;r:64;k1:13`.
* `ot=p:8;k1:7;r:64` will become `ot=p8;r:64;k1:13`. Preserving the order is not required.
* `ot=p:8;r:62` will become `ot=p:8;r:62;k1:13`.
* `ot=p:8;k1:7;r:62` will become `ot=p8;r:62;k1:13`. Preserving the order is not required.

If setting a value ends up making the entire `ot` entry exceed the 256 characters limit,
SDKs are advised to abort the operation and signal the user about the error, e.g.
Expand Down