What would you like to be added:
- In the
RequestHeaders branch of Process(), extract upstream trace context from the Envoy header map using propagator.Extract.
- Move the server span start to after extraction, or re-parent it to the extracted context (avoid the orphan root).
Why is this needed:
IPP runs as an Envoy ext_proc filter (config/charts/payload-processor/templates/istio.yaml), sequentially on the same Envoy HTTP filter chain as EPP. Like EPP, IPP starts its server span at the top of Process() before the request headers are received, so it never extracts the upstream traceparent and starts a new root trace per request. In addition, IPP does not inject traceparent on egress: it already has a HeaderMutation pipeline but trace context is not written into it, so a downstream ext_proc filter in the chain may not see the updated traceparent.
What would you like to be added:
RequestHeadersbranch ofProcess(), extract upstream trace context from the Envoy header map usingpropagator.Extract.Why is this needed:
IPP runs as an Envoy
ext_procfilter (config/charts/payload-processor/templates/istio.yaml), sequentially on the same Envoy HTTP filter chain as EPP. Like EPP, IPP starts its server span at the top ofProcess()before the request headers are received, so it never extracts the upstreamtraceparentand starts a new root trace per request. In addition, IPP does not injecttraceparenton egress: it already has a HeaderMutation pipeline but trace context is not written into it, so a downstreamext_procfilter in the chain may not see the updatedtraceparent.