diff --git a/pkg/endpoints/handlers/create.go b/pkg/endpoints/handlers/create.go index 120d3f665..55f310daa 100644 --- a/pkg/endpoints/handlers/create.go +++ b/pkg/endpoints/handlers/create.go @@ -55,6 +55,7 @@ func createHandler(r rest.NamedCreater, scope *RequestScope, admit admission.Int ctx := req.Context() // For performance tracking purposes. ctx, span := tracing.Start(ctx, "Create", traceFields(req)...) + req = req.WithContext(ctx) defer span.End(500 * time.Millisecond) namespace, name, err := scope.Namer.Name(req) diff --git a/pkg/endpoints/handlers/delete.go b/pkg/endpoints/handlers/delete.go index 663fd8d52..edd6b4da0 100644 --- a/pkg/endpoints/handlers/delete.go +++ b/pkg/endpoints/handlers/delete.go @@ -52,6 +52,7 @@ func DeleteResource(r rest.GracefulDeleter, allowsOptions bool, scope *RequestSc ctx := req.Context() // For performance tracking purposes. ctx, span := tracing.Start(ctx, "Delete", traceFields(req)...) + req = req.WithContext(ctx) defer span.End(500 * time.Millisecond) namespace, name, err := scope.Namer.Name(req) @@ -172,6 +173,7 @@ func DeleteCollection(r rest.CollectionDeleter, checkBody bool, scope *RequestSc return func(w http.ResponseWriter, req *http.Request) { ctx := req.Context() ctx, span := tracing.Start(ctx, "Delete", traceFields(req)...) + req = req.WithContext(ctx) defer span.End(500 * time.Millisecond) namespace, err := scope.Namer.Namespace(req) diff --git a/pkg/endpoints/handlers/get.go b/pkg/endpoints/handlers/get.go index 5ac2ff644..a8df2aaab 100644 --- a/pkg/endpoints/handlers/get.go +++ b/pkg/endpoints/handlers/get.go @@ -58,6 +58,7 @@ func getResourceHandler(scope *RequestScope, getter getterFunc) http.HandlerFunc return func(w http.ResponseWriter, req *http.Request) { ctx := req.Context() ctx, span := tracing.Start(ctx, "Get", traceFields(req)...) + req = req.WithContext(ctx) defer span.End(500 * time.Millisecond) namespace, name, err := scope.Namer.Name(req) @@ -172,6 +173,7 @@ func ListResource(r rest.Lister, rw rest.Watcher, scope *RequestScope, forceWatc ctx := req.Context() // For performance tracking purposes. ctx, span := tracing.Start(ctx, "List", traceFields(req)...) + req = req.WithContext(ctx) namespace, err := scope.Namer.Namespace(req) if err != nil { diff --git a/pkg/endpoints/handlers/patch.go b/pkg/endpoints/handlers/patch.go index 14278aed7..123136a3b 100644 --- a/pkg/endpoints/handlers/patch.go +++ b/pkg/endpoints/handlers/patch.go @@ -66,6 +66,7 @@ func PatchResource(r rest.Patcher, scope *RequestScope, admit admission.Interfac ctx := req.Context() // For performance tracking purposes. ctx, span := tracing.Start(ctx, "Patch", traceFields(req)...) + req = req.WithContext(ctx) defer span.End(500 * time.Millisecond) // Do this first, otherwise name extraction can fail for unrecognized content types diff --git a/pkg/endpoints/handlers/responsewriters/writers.go b/pkg/endpoints/handlers/responsewriters/writers.go index acd8f0357..218d18efa 100644 --- a/pkg/endpoints/handlers/responsewriters/writers.go +++ b/pkg/endpoints/handlers/responsewriters/writers.go @@ -98,6 +98,7 @@ func SerializeObject(mediaType string, encoder runtime.Encoder, hw http.Response attribute.String("protocol", req.Proto), attribute.String("mediaType", mediaType), attribute.String("encoder", string(encoder.Identifier()))) + req = req.WithContext(ctx) defer span.End(5 * time.Second) w := &deferredResponseWriter{ diff --git a/pkg/endpoints/handlers/update.go b/pkg/endpoints/handlers/update.go index ead2b94de..dcc57480e 100644 --- a/pkg/endpoints/handlers/update.go +++ b/pkg/endpoints/handlers/update.go @@ -53,6 +53,7 @@ func UpdateResource(r rest.Updater, scope *RequestScope, admit admission.Interfa ctx := req.Context() // For performance tracking purposes. ctx, span := tracing.Start(ctx, "Update", traceFields(req)...) + req = req.WithContext(ctx) defer span.End(500 * time.Millisecond) namespace, name, err := scope.Namer.Name(req)