make span names more generic by using Route().Path instead of Path

This commit is contained in:
Natalia Goc 2024-05-20 19:43:39 +02:00
parent 031177f30c
commit 7dd3dc70d5
3 changed files with 7 additions and 3 deletions

View File

@ -51,6 +51,7 @@ func main() {
}) })
main.Get("/", Handler) main.Get("/", Handler)
main.Get("/just/some/more/complex/path/:with/params", Handler)
// handle interrupts (shutdown) // handle interrupts (shutdown)
c := make(chan os.Signal, 1) c := make(chan os.Signal, 1)

View File

@ -1,2 +1,5 @@
GET http://127.0.0.1:3344/ GET http://127.0.0.1:3344/
HTTP 200 HTTP 500
GET http://127.0.0.1:3344/just/some/more/complex/path/:with/params
HTTP 500

View File

@ -48,7 +48,7 @@ func Start(ctx context.Context, spanName string, opts ...trace.SpanStartOption)
func FStart(c *fiber.Ctx, opts ...trace.SpanStartOption) (context.Context, trace.Span) { func FStart(c *fiber.Ctx, opts ...trace.SpanStartOption) (context.Context, trace.Span) {
span := trace.SpanFromContext(fiberOpentelemetry.FromCtx(c)) span := trace.SpanFromContext(fiberOpentelemetry.FromCtx(c))
c.SetUserContext(trace.ContextWithSpan(c.UserContext(), span)) c.SetUserContext(trace.ContextWithSpan(c.UserContext(), span))
return fiberOpentelemetry.Tracer.Start(c.UserContext(), c.Method()+" "+c.Path(), opts...) return fiberOpentelemetry.Tracer.Start(c.UserContext(), c.Method()+" "+c.Route().Path, opts...)
} }
// Retrieve span using [fiber.Ctx] // Retrieve span using [fiber.Ctx]
@ -81,7 +81,7 @@ func NewMiddleware(config Config) func(*fiber.Ctx) error {
return fiberOpentelemetry.New( return fiberOpentelemetry.New(
fiberOpentelemetry.Config{ fiberOpentelemetry.Config{
Tracer: tracer, Tracer: tracer,
SpanName: "{{ .Method }} {{ .Path }}", SpanName: "{{ .Method }} {{ .Route.Path }}",
TracerStartAttributes: []trace.SpanStartOption{ TracerStartAttributes: []trace.SpanStartOption{
trace.WithSpanKind(trace.SpanKindServer), trace.WithSpanKind(trace.SpanKindServer),
trace.WithNewRoot(), trace.WithNewRoot(),