Page MenuHomePhabricator

Trace header propagation for service-template-node and all service-runner services
Open, Needs TriagePublic

Description

Currently, when service-runner services process a request, they are supposed to propagate the x-request-id header from the incoming request to any requests to other services it makes "on behalf" of that request as part of handling it.

In order to implement distributed tracing, we'll also need to similarly propagate the tracestate and traceparent headers.

In the future we'll likely want to integrate services with the OpenTelemetry client library, so we can add other context to traces. But for now we can simply propagating these two headers without modifying them or even parsing them (as is allowed by the W3C TraceContext Recommendation)