Skip to content

Commit 95aea10

Browse files
authored
chore: ignore traces from (*API).workspaceAgentCoordinate after accept (coder#4178)
1 parent 4c8be34 commit 95aea10

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

coderd/tracing/util.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
package tracing
22

33
import (
4+
"context"
45
"runtime"
56
"strings"
7+
8+
"go.opentelemetry.io/otel/trace"
69
)
710

11+
var NoopSpan trace.Span
12+
13+
func init() {
14+
tracer := trace.NewNoopTracerProvider().Tracer("")
15+
_, NoopSpan = tracer.Start(context.Background(), "")
16+
}
17+
818
const TracerName = "coderd"
919

1020
func FuncName() string {

coderd/workspaceagents.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,8 +364,11 @@ func (api *API) workspaceAgentCoordinate(rw http.ResponseWriter, r *http.Request
364364
return
365365
}
366366

367-
// end span so we don't get long lived trace data
367+
// End span so we don't get long lived trace data.
368368
tracing.EndHTTPSpan(r, http.StatusOK, trace.SpanFromContext(ctx))
369+
// Ignore all trace spans after this.
370+
ctx = trace.ContextWithSpan(ctx, tracing.NoopSpan)
371+
369372
api.Logger.Info(ctx, "accepting agent", slog.F("resource", resource), slog.F("agent", workspaceAgent))
370373

371374
defer conn.Close(websocket.StatusNormalClosure, "")

0 commit comments

Comments
 (0)