Skip to content

[observability] IPP: extract upstream traceparent at ext_proc ingress, re-parent span, and inject traceparent on egress #157

Description

@gyliu513

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.

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.sig/observabilityCategorizes an issue or PR as relevant to SIG Observability.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions