Skip to content

Commit 034b8c7

Browse files
authored
Merge branch 'level-2' into level-2-autopubli
2 parents eefd2ee + 77a0c5b commit 034b8c7

File tree

6 files changed

+29
-28
lines changed

6 files changed

+29
-28
lines changed

.github/workflows/self_test.yml

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,8 @@
11
name: Self Test
22
on:
33
push:
4-
paths:
5-
- 'test/**.py'
6-
- 'test/**.json'
7-
- '.github/workflows/self_test.yml'
84
pull_request:
9-
paths:
10-
- 'test/**.py'
11-
- 'test/**.json'
12-
- '.github/workflows/self_test.yml'
5+
136
jobs:
147
build:
158
runs-on: ubuntu-latest

index.html

+11-12
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<script class='remove'>
88
var respecConfig = {
99
specStatus: "ED",
10-
implementationReportURI: "https://github.com/w3c/trace-context/#reference-implementations",
10+
implementationReportURI: "https://w3c.github.io/trace-context/implementations",
1111
/* previousMaturity: "CR",
1212
previousPublishDate : "2019-08-13", */
1313
crEnd: "2024-08-08",
@@ -27,39 +27,38 @@
2727
name: "Yuri Shkuro",
2828
company: "Meta",
2929
w3cid: "104074"
30+
},
31+
{
32+
name: "J. Kalyana Sundaram",
33+
company: "Microsoft",
34+
w3cid: "129894"
35+
},
36+
{
37+
name: "Bastian Krol",
38+
company: "IBM",
39+
w3cid: "127244"
3040
}],
3141

3242
formerEditors: [{
3343
name: "Nik Molnar",
34-
company: "Microsoft",
35-
companyURL: "https://microsoft.com",
3644
w3cid: "104238"
3745
},
3846
{
3947
name: "Alois Reitbauer",
40-
company: "Dynatrace",
41-
companyURL: "https://dynatrace.com",
4248
w3cid: "48276"
4349
},
4450
{
4551
name: "Morgan McLean",
46-
company: "Google",
47-
companyURL: "https://google.com",
4852
w3cid: "104128"
4953
},
5054
{
5155
name: "Bogdan Drutu",
52-
company: "Google",
53-
companyURL: "https://google.com",
5456
w3cid: "104091"
5557
},
5658
{
5759
name: "Daniel Khan",
58-
company: "Dynatrace",
59-
companyURL: "https://dynatrace.com",
6060
w3cid: "90530"
6161
}],
62-
6362
github: {
6463
repoURL: "https://github.com/w3c/trace-context/",
6564
branch: "main",

spec/02-sotd.md

+2
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
This new version adds considerations for the generation of the `trace-id` and `span-id` fields, and adds the random trace ID flag.
2+
3+
As an exit criteria, the Working Group intends to demonstrate at least 2 implementations adopting this specification and making use of it, using a test suite.

spec/20-http_request_header_format.md

+12-6
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,18 @@ There are two additional options that vendors MAY follow:
182182

183183
##### Random Trace ID Flag
184184

185-
The second least significant bit of the trace-flags field denotes the random-trace-id flag.
186-
If that flag is set, at least the right-most 7 bytes of the trace ID MUST be random (or pseudo-random).
187-
If the flag is not set, the trace ID MAY still be randomly (or pseudo-randomly) generated.
188-
When unset, the trace ID MAY be generated in any way that satisfies the requirements of the [trace ID format](#trace-id).
185+
The second least significant bit of the trace-flags field denotes the `random-trace-id` flag.
186+
187+
When starting or restarting a trace (that is, when the participant generates a new `trace-id`), the following rules apply:
188+
* If that flag is set, at least the right-most 7 bytes of the `trace-id` MUST be selected randomly (or pseudo-randomly) with uniform distribution over the interval [0..2^56-1].
189+
* If the flag is not set, the `trace-id` MAY still be randomly (or pseudo-randomly) generated.
190+
* When unset, the `trace-id` MAY be generated in any way that satisfies the requirements of the [trace ID format](#trace-id).
191+
* When at least the right-most 7 bytes of the `trace-id` are randomly (or pseudo-randomly) generated, the `random-trace-id` flag SHOULD be set to `1`.
192+
193+
When continuing a trace (that is, the incoming HTTP request had the `traceparent` header and the participant uses the same `trace-id` in the `traceparent` header on outgoing requests), the following rules apply:
194+
* If the flag is set in the incoming `traceparent` header, it MUST also be set in all outgoing `traceparent` headers which use the same `trace-id`.
195+
* If the flag is unset in the incoming `traceparent` header, it MUST also be unset in any outgoing `traceparent` headers which use the same `trace-id`.
189196

190-
When at least the right-most 7 bytes of the `trace-id` are randomly (or pseudo-randomly) generated, the random trace ID flag SHOULD be set to `1`.
191197
This allows downstream consumers to implement features such as trace sampling or database sharding based on these bytes.
192198
For additional information, see [considerations for trace-id field generation](#considerations-for-trace-id-field-generation).
193199

@@ -254,7 +260,7 @@ In order to increase interoperability across multiple protocols and encourage su
254260

255261
### tracestate Header Field Values
256262

257-
The `tracestate` field may contain any [=opaque=] value in any of the keys. Tracestate MAY be sent or received as multiple header fields. Multiple tracestate header fields MUST be handled as specified by <a data-cite='!RFC9110#field.order'>RFC9110 Section 5.3 Field Order</a>. The `tracestate` header SHOULD be sent as a single field when possible, but MAY be split into multiple header fields. When sending `tracestate` as multiple header fields, it MUST be split according to <a data-cite='!RFC9110#field.order'>RFC9110</a>. When receiving multiple `tracestate` header fields, they MUST be combined into a single header according to <a data-cite='!RFC9110#field.order'>RFC9110</a>.
263+
The `tracestate` field may contain any [=opaque=] value in any of the keys. Tracestate MAY be sent or received as multiple header fields. Multiple tracestate header fields MUST be handled as specified by <a data-cite='!RFC9110#name-field-order'>RFC9110 Section 5.3 Field Order</a>. The `tracestate` header SHOULD be sent as a single field when possible, but MAY be split into multiple header fields. When sending `tracestate` as multiple header fields, it MUST be split according to <a data-cite='!RFC9110#name-field-order'>RFC9110</a>. When receiving multiple `tracestate` header fields, they MUST be combined into a single header according to <a data-cite='!RFC9110#name-field-order'>RFC9110</a>.
258264

259265
This section uses the Augmented Backus-Naur Form (ABNF) notation of [[!RFC5234]], including the DIGIT rule in <a data-cite='!RFC5234#appendix-B.1'>appendix B.1 for RFC5234</a>. It also includes the `OWS` rule from <a data-cite='!RFC9110#whitespace'>RFC9110 section 5.6.3</a>.
260266

spec/60-acknowledgments.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
## Acknowledgments
22

3-
Thanks to Adrian Cole, Christoph Neumüller, Daniel Khan, Erika Arnold, Fabian Lange, Matthew Wear, Reiley Yang, Ted Young, Tyler Benson, Victor Soares for their contributions to this work.
3+
Thanks to Adrian Cole, Christoph Neumüller, Daniel Khan, Erika Arnold, Fabian Lange, Matthew Wear, Philippe Le Hegaret, Reiley Yang, Ted Young, Tyler Benson, and Victor Soares for their contributions to this work.

spec/60-trace-id-format.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ also allows tracing vendors to base sampling decisions on `trace-id` field value
2323
and avoid propagating an additional sampling context.
2424

2525
If the `random-trace-id` flag is set, at least the right-most 7 bytes of the
26-
`trace-id` MUST be randomly (or pseudo-randomly) generated.
26+
`trace-id` MUST be selected randomly (or pseudo-randomly) with uniform distribution
27+
over the interval [0..2^56-1].
2728

2829
As shown in the next section, if part of the `trace-id` is nonrandom,
2930
it is important for the random part of the `trace-id` to be as far right in the

0 commit comments

Comments
 (0)