envoyproxy / envoyproxy/envoy

Datadog Headers not propagated in GRPC requests from WASM filter

Open
#22,028 13 comments 0 reactions 0 assignees View on GitHub
area/wasm bug help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

*Title*: *Datadog Tracing Headers not propagated in GRPC requests in WASM filter*

*Description*:
Envoy appears to omit Datadog trace context propagation in GRPC metadata of GRPC requests made to an external server from the WASM filter. This means that the trace context is not propagated to upstream servers called by the filter and any resulting traffic is unable to be stitched to the parent span. However, this seems to be supported in both `ext_authz` and `lua` filters.

Additionally, these headers are not injected in the http request received by the filter, as I think http tracing headers are not injected until it reaches the http router filter.

*Repro steps*:
1. Enable datadog tracing and a WASM http filter that makes a call to an external server via GRPC.
2. Inspect metadata on grpc requests received by external server. Only the following metadata is received in incoming context: `authority`, `content-type`, `x-envoy-expected-rq-timeout-ms`, `x-envoy-internal`, `x-forwarded-for`

Please let me know if I can provide any further information to assist in resolution of this issue. Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.