UUID¶
This extension may be referenced by the qualified name envoy.request_id.uuid
Note
This extension is intended to be robust against both untrusted downstream and upstream traffic.
extensions.request_id.uuid.v3.UuidRequestIdConfig¶
[extensions.request_id.uuid.v3.UuidRequestIdConfig proto]
Configuration for the default UUID request ID extension which has the following behavior:
Request ID is propagated using the x-request-id header.
Request ID is a universally unique identifier (UUID4).
Tracing decision (sampled, forced, etc) is set in 14th nibble of the UUID. By default this will overwrite existing UUIDs received in the x-request-id header if the trace sampling decision is changed. The 14th nibble of the UUID4 has been chosen because it is fixed to ‘4’ by the standard. Thus, ‘4’ indicates a default UUID and no trace status. This nibble is swapped to:
‘9’: Sampled.
‘a’: Force traced due to server-side override.
‘b’: Force traced due to client-side request ID joining.
See the x-request-id documentation for more information.
{
"pack_trace_reason": "{...}"
}
- pack_trace_reason
(BoolValue) Whether the implementation alters the UUID to contain the trace sampling decision as per the UuidRequestIdConfig message documentation. This defaults to true. If disabled no modification to the UUID will be performed. It is important to note that if disabled, stable sampling of traces, access logs, etc. will no longer work and only random sampling will be possible.