Files
caddy/modules/caddyhttp/reverseproxy
a 2b47a1849f reverseproxy: emit OpenTelemetry client spans (#8177)
* reverseproxy: emit OpenTelemetry client spans for upstream requests

When the request carries a valid span context (set by the tracing
handler), each upstream round trip, including retries, is recorded as a
client span and that span's context is propagated to the upstream.
Requests that are not traced use the transport directly.

The transport is wrapped at the call site rather than replacing
h.Transport, so transport interface checks and health checks are
unaffected. The tracer provider comes from the span in the request
context, so no global provider is needed.

Fixes #7223

* reverseproxy: assert client span URL, upstream address and status

Use a provisioned HTTPTransport so the test fails if roundTrip stops
setting the scheme before the traced transport records url.full.

* reverseproxy: add license header to tracing test
2026-10-23 16:28:55 +10:00
..
2026-10-17 15:28:01 +08:00
2026-10-17 15:28:01 +08:00