@@ -20,7 +20,7 @@ const (
2020func OtelTraceContext (tracer telemetry.Tracer , logger telemetry.Logger , header string , namespace string ) fiber.Handler {
2121 return func (c * fiber.Ctx ) error {
2222 otelTracer := otel .Tracer (namespace )
23- _ , span := otelTracer .Start (context .Background (), fmt .Sprintf ("%s %s" , c .Method (), c .OriginalURL ()))
23+ ctx , span := otelTracer .Start (context .Background (), fmt .Sprintf ("%s %s" , c .Method (), c .OriginalURL ()), trace . WithSpanKind ( trace . SpanKindServer ))
2424 defer span .End ()
2525 spanContext := span .SpanContext ()
2626
@@ -29,16 +29,13 @@ func OtelTraceContext(tracer telemetry.Tracer, logger telemetry.Logger, header s
2929 WithString ("client.version" , c .Get (clientVersionHeader )).
3030 Trace (c .OriginalURL ())
3131
32- newCtx , span := otel .Tracer (namespace ).Start (trace .ContextWithRemoteSpanContext (context .Background (), spanContext ), "middlewares.OtelTraceContext" )
33- defer span .End ()
34-
3532 ctxLogger := tracer .CtxLogger (logger , span )
3633 span .SetAttributes (attribute .Key ("traceID" ).String (span .SpanContext ().TraceID ().String ()))
3734 span .SetAttributes (attribute .Key ("SpanID" ).String (span .SpanContext ().SpanID ().String ()))
3835 span .SetAttributes (attribute .Key ("traceFlags" ).String (spanContext .TraceFlags ().String ()))
3936 span .SetAttributes (attribute .Key ("clientVersion" ).String (c .Get (clientVersionHeader )))
4037
41- c .Locals (telemetry .TracerContextKey , trace .ContextWithSpan (newCtx , span ))
38+ c .Locals (telemetry .TracerContextKey , trace .ContextWithSpan (ctx , span ))
4239
4340 // Go to next middleware:
4441 response := c .Next ()
0 commit comments