diff --git a/spec/60-trace-id-format.md b/spec/60-trace-id-format.md index cc9efe0e..f96b93f6 100644 --- a/spec/60-trace-id-format.md +++ b/spec/60-trace-id-format.md @@ -63,7 +63,8 @@ identifiers SHOULD be left padded with zeros when converted to 16 bytes `trace-id` and rightmost part of `trace-id` SHOULD be used as a shorter identifier. -Note, many existing systems that are not capable of propagating the whole +Notes: +* Many existing systems that are not capable of propagating the whole `trace-id` will not propagate `tracestate` header either. However, such system can still use `tracestate` header to propagate additional data that is known by this system. For example, some systems use two flags indicating whether @@ -73,3 +74,9 @@ and receive an additional flag. Compliant systems will propagate this flag along all other key/value pairs. Existing systems which are not capable of `tracestate` propagation will truncate all additional values from `tracestate` and only pass along that flag. + +* This section provides guidance for dealing with short `trace-id`s generated by +non-compliant legacy systems. It is non-normative, and does not alter the normative +requirements of `trace-id` length in other portions of this spec. Nor does it imply that +`traceparent` headers which do not meet this spec's normative requirements should be +accepted.