Skip to content

Commit 0fe8209

Browse files
committed
Fix with go fmt
1 parent b9eb25c commit 0fe8209

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

api/pkg/middlewares/otel_context_middleware.go

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package middlewares
33
import (
44
"context"
55
"fmt"
6+
"strings"
7+
8+
"github.com/google/uuid"
69

710
"github.com/NdoleStudio/httpsms/pkg/telemetry"
811
"github.com/gofiber/fiber/v2"
@@ -20,7 +23,7 @@ const (
2023
func OtelTraceContext(tracer telemetry.Tracer, logger telemetry.Logger, header string, namespace string) fiber.Handler {
2124
return func(c *fiber.Ctx) error {
2225
otelTracer := otel.Tracer(namespace)
23-
ctx, span := otelTracer.Start(context.Background(), fmt.Sprintf("%s %s", c.Method(), c.OriginalURL()), trace.WithSpanKind(trace.SpanKindServer))
26+
ctx, span := otelTracer.Start(context.Background(), fmt.Sprintf("%s %s", c.Method(), fixURL(c.OriginalURL())), trace.WithSpanKind(trace.SpanKindServer))
2427
defer span.End()
2528
spanContext := span.SpanContext()
2629

@@ -50,3 +53,17 @@ func OtelTraceContext(tracer telemetry.Tracer, logger telemetry.Logger, header s
5053
return response
5154
}
5255
}
56+
57+
func fixURL(url string) string {
58+
url = strings.Split(url, "?")[0]
59+
parts := strings.Split(url, "/")
60+
var result []string
61+
for _, part := range parts {
62+
if _, err := uuid.Parse(part); err == nil {
63+
result = append(result, ":id")
64+
} else {
65+
result = append(result, part)
66+
}
67+
}
68+
return strings.Join(result, "/")
69+
}

0 commit comments

Comments
 (0)