UUID(协议)

此扩展的限定名称为 envoy.request_id.uuid

注意

此扩展旨在对不可信的下游和上游流量都具有鲁棒性。

提示

此扩展扩展并可与以下扩展类别一起使用

此扩展必须使用以下类型 URL 之一进行配置

extensions.request_id.uuid.v3.UuidRequestIdConfig

[extensions.request_id.uuid.v3.UuidRequestIdConfig 协议]

针对默认 UUID 请求 ID 扩展的配置,该扩展具有以下行为

  1. 请求 ID 使用 x-request-id 头信息传播。

  2. 请求 ID 是一个通用唯一标识符 (UUID4)

  3. 跟踪决策(采样、强制等)在 UUID 的第 14 个字节中设置。默认情况下,如果跟踪采样决策发生变化,这将覆盖在 x-request-id 头信息中收到的现有 UUID。UUID4 的第 14 个字节已选择,因为它固定为“4”。因此,“4”表示默认 UUID 且没有跟踪状态。此字节被交换为

    1. “9”:采样。

    2. “a”:由于服务器端覆盖而强制跟踪。

    3. “b”:由于客户端请求 ID 加入而强制跟踪。

    有关更多信息,请参阅 x-request-id 文档。

{
  "pack_trace_reason": {...},
  "use_request_id_for_trace_sampling": {...}
}
pack_trace_reason

(BoolValue) 是否实现根据 UuidRequestIdConfig 消息文档更改 UUID 以包含跟踪采样决策。此值默认为 true。如果禁用,则不会对 UUID 进行任何修改。重要的是要注意,如果禁用,稳定的跟踪、访问日志等的采样将不再有效,并且只能进行随机采样。

use_request_id_for_trace_sampling

(BoolValue) 设置是否使用 x-request-id 进行采样。此值默认为 true。有关更多信息,请参阅 上下文传播 概述。