@@ -3,15 +3,13 @@ package middlewares
33import (
44 "context"
55 "fmt"
6- "strings"
76 "time"
87
98 "go.opentelemetry.io/otel/sdk/resource"
109 semconv "go.opentelemetry.io/otel/semconv/v1.20.0"
1110
1211 "github.com/NdoleStudio/httpsms/pkg/telemetry"
1312 "github.com/gofiber/fiber/v2"
14- "github.com/google/uuid"
1513 "github.com/palantir/stacktrace"
1614 "go.opentelemetry.io/otel"
1715 "go.opentelemetry.io/otel/attribute"
@@ -33,7 +31,7 @@ func OtelTraceContext(tracer telemetry.Tracer, logger telemetry.Logger, resource
3331 return func (c * fiber.Ctx ) error {
3432 start := time .Now ()
3533 otelTracer := otel .Tracer (namespace )
36- ctx , span := otelTracer .Start (context .Background (), fmt .Sprintf ("%s %s" , c .Method (), fixURL ( c . OriginalURL ()) ), trace .WithSpanKind (trace .SpanKindServer ))
34+ ctx , span := otelTracer .Start (context .Background (), fmt .Sprintf ("%s %s" , c .Method (), c . Route (). Path ), trace .WithSpanKind (trace .SpanKindServer ))
3735 defer span .End ()
3836 spanContext := span .SpanContext ()
3937
@@ -53,7 +51,7 @@ func OtelTraceContext(tracer telemetry.Tracer, logger telemetry.Logger, resource
5351 defer func () {
5452 attributes := append ([]attribute.KeyValue {
5553 semconv .HTTPMethod (c .Method ()),
56- semconv .HTTPURL ( fixURL ( c . OriginalURL ()) ),
54+ semconv .HTTPRouteKey . String ( c . Route (). Path ),
5755 }, resources .Attributes ()... )
5856 httpServerDuration .Record (ctx , time .Since (start ).Milliseconds (), metric .WithAttributes (attributes ... ))
5957 }()
@@ -71,17 +69,3 @@ func OtelTraceContext(tracer telemetry.Tracer, logger telemetry.Logger, resource
7169 return response
7270 }
7371}
74-
75- func fixURL (url string ) string {
76- url = strings .Split (url , "?" )[0 ]
77- parts := strings .Split (url , "/" )
78- var result []string
79- for _ , part := range parts {
80- if _ , err := uuid .Parse (part ); err == nil {
81- result = append (result , ":id" )
82- } else {
83- result = append (result , part )
84- }
85- }
86- return strings .Join (result , "/" )
87- }
0 commit comments