From 95aea104c73d27f9f295ffec02599cc3ff969712 Mon Sep 17 00:00:00 2001 From: Colin Adler Date: Fri, 23 Sep 2022 15:21:44 -0500 Subject: [PATCH] chore: ignore traces from `(*API).workspaceAgentCoordinate` after accept (#4178) --- coderd/tracing/util.go | 10 ++++++++++ coderd/workspaceagents.go | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/coderd/tracing/util.go b/coderd/tracing/util.go index cfa7c90160..f65e6e784c 100644 --- a/coderd/tracing/util.go +++ b/coderd/tracing/util.go @@ -1,10 +1,20 @@ package tracing import ( + "context" "runtime" "strings" + + "go.opentelemetry.io/otel/trace" ) +var NoopSpan trace.Span + +func init() { + tracer := trace.NewNoopTracerProvider().Tracer("") + _, NoopSpan = tracer.Start(context.Background(), "") +} + const TracerName = "coderd" func FuncName() string { diff --git a/coderd/workspaceagents.go b/coderd/workspaceagents.go index 3c0bb50ed8..5f8df9a9de 100644 --- a/coderd/workspaceagents.go +++ b/coderd/workspaceagents.go @@ -364,8 +364,11 @@ func (api *API) workspaceAgentCoordinate(rw http.ResponseWriter, r *http.Request return } - // end span so we don't get long lived trace data + // End span so we don't get long lived trace data. tracing.EndHTTPSpan(r, http.StatusOK, trace.SpanFromContext(ctx)) + // Ignore all trace spans after this. + ctx = trace.ContextWithSpan(ctx, tracing.NoopSpan) + api.Logger.Info(ctx, "accepting agent", slog.F("resource", resource), slog.F("agent", workspaceAgent)) defer conn.Close(websocket.StatusNormalClosure, "")