diff --git a/dataplane-globalpolicy-template/global-policies-plugins.yaml b/dataplane-globalpolicy-template/global-policies-plugins.yaml index f6f516e..649f1e8 100644 --- a/dataplane-globalpolicy-template/global-policies-plugins.yaml +++ b/dataplane-globalpolicy-template/global-policies-plugins.yaml @@ -103,3 +103,17 @@ config: service.name: ${NAME} sampling_rate: 1 http_response_header_for_traceid: X-Trace-Id + # Without this block every hop starts its own trace: a single end-to-end + # transaction shows up in Tempo as a dozen unrelated traces, one per service. + # `extract` is what makes the gateway continue the caller's trace instead of + # opening a new one, and `inject` is what carries it to the upstream so the + # backend can continue it in turn. + propagation: + extract: + - w3c + - b3 + - jaeger + inject: + - w3c + default_format: w3c + clear: []