UUID

    Note

    This extension is intended to be robust against both untrusted downstream and upstream traffic.

    Tip

    This extension extends and can be used with the following extension category:

    1. Request ID is a universally unique identifier (UUID4)).

    2. 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:

      See the documentation for more information.

    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.

    use_request_id_for_trace_sampling

    () Set whether to use x-request-id for sampling or not. This defaults to true. See the overview for more information.