Nginx: как сгенерировать X-B3-SpanId 16 случайных байт для трассировки

#nginx #trace #zipkin #opentracing

#nginx #трассировка #zipkin #opentracing

Вопрос:

Я пытаюсь сгенерировать идентификатор трассировки zipkin из nginx, чтобы иметь возможность выполнять трассировку из nginx в приложения. Для достижения этой цели я хочу выяснить, как сгенерировать 16 случайных байт, которые будут использоваться для X-B3-SpanId, поскольку $ request_id генерирует 32 байта (которые могут быть использованы для X-B3-traceId).

Ответ №1:

К вашему сведению, это сработало после генерации фиктивного X-B3-SpanId; это работает до тех пор, пока X-B3-traceId уникален.

например

 map $http_x_b3_traceid $_request_id {
    default   $http_x_b3_traceid;
    ""        $request_id;
}
map $http_x_b3_spanid $_span_id {
    default   $http_x_b3_spanid;
    ""        "1111111111111111";
}