API Server: Fix extracting jaeger remote trace from incoming request (#93998)

This commit is contained in:
Marcus Efraimsson
2024-10-02 17:07:31 +02:00
committed by GitHub
parent d75a9b6aeb
commit e22b510cd8
8 changed files with 28 additions and 7 deletions
@@ -0,0 +1,17 @@
package filters
import (
"net/http"
jaegerpropagator "go.opentelemetry.io/contrib/propagators/jaeger"
"go.opentelemetry.io/otel/propagation"
)
// WithExtractJaegerTrace tries to extract remote trace/span from incoming request.
func WithExtractJaegerTrace(handler http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
propagator := jaegerpropagator.Jaeger{}
ctx := propagator.Extract(req.Context(), propagation.HeaderCarrier(req.Header))
handler.ServeHTTP(w, req.WithContext(ctx))
})
}