Трейс - цепочка span по запросу; при переходе между сервисами передают trace_id и span_id в заголовках (W3C Trace Context: traceparent, tracestate). В Go контекст с span пробрасывают в вызовы; при HTTP-вызове к другому сервису инжектируют заголовки из контекста. OpenTelemetry делает это автоматически с правильной инструментацией.
carrier := propagation.MapCarrier{}
propagator.Inject(ctx, carrier)
req.Header.Set("traceparent", carrier["traceparent"])