summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/tracing/tracer.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/caddyhttp/tracing/tracer.go')
-rw-r--r--modules/caddyhttp/tracing/tracer.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/caddyhttp/tracing/tracer.go b/modules/caddyhttp/tracing/tracer.go
index ddb01e8..e5c5107 100644
--- a/modules/caddyhttp/tracing/tracer.go
+++ b/modules/caddyhttp/tracing/tracer.go
@@ -69,7 +69,13 @@ func newOpenTelemetryWrapper(
sdktrace.WithResource(res),
)
- ot.handler = otelhttp.NewHandler(http.HandlerFunc(ot.serveHTTP), ot.spanName, otelhttp.WithTracerProvider(tracerProvider), otelhttp.WithPropagators(ot.propagators))
+ ot.handler = otelhttp.NewHandler(http.HandlerFunc(ot.serveHTTP),
+ ot.spanName,
+ otelhttp.WithTracerProvider(tracerProvider),
+ otelhttp.WithPropagators(ot.propagators),
+ otelhttp.WithSpanNameFormatter(ot.spanNameFormatter),
+ )
+
return ot, nil
}
@@ -106,3 +112,8 @@ func (ot *openTelemetryWrapper) newResource(
semconv.WebEngineVersionKey.String(webEngineVersion),
))
}
+
+// spanNameFormatter performs the replacement of placeholders in the span name
+func (ot *openTelemetryWrapper) spanNameFormatter(operation string, r *http.Request) string {
+ return r.Context().Value(caddy.ReplacerCtxKey).(*caddy.Replacer).ReplaceAll(operation, "")
+}