@@ -14,10 +14,9 @@ import (
1414 "go.opentelemetry.io/otel"
1515 "go.opentelemetry.io/otel/attribute"
1616 "go.opentelemetry.io/otel/propagation"
17- semconv "go.opentelemetry.io/otel/semconv/v1.20.0"
1817 oteltrace "go.opentelemetry.io/otel/trace"
1918
20- "go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho/internal/semconvutil "
19+ "go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho/internal/semconv "
2120)
2221
2322const (
@@ -47,6 +46,8 @@ func Middleware(service string, opts ...Option) echo.MiddlewareFunc {
4746 cfg .Skipper = middleware .DefaultSkipper
4847 }
4948
49+ semconvSrv := semconv .NewHTTPServer (nil )
50+
5051 return func (next echo.HandlerFunc ) echo.HandlerFunc {
5152 return func (c echo.Context ) error {
5253 if cfg .Skipper (c ) {
@@ -62,11 +63,13 @@ func Middleware(service string, opts ...Option) echo.MiddlewareFunc {
6263 }()
6364 ctx := cfg .Propagators .Extract (savedCtx , propagation .HeaderCarrier (request .Header ))
6465 opts := []oteltrace.SpanStartOption {
65- oteltrace .WithAttributes (semconvutil .HTTPServerRequest (service , request , semconvutil.HTTPServerRequestOptions {}, nil )... ),
66+ oteltrace .WithAttributes (
67+ semconvSrv .RequestTraceAttrs (service , request , semconv.RequestTraceAttrsOpts {}... ),
68+ ),
6669 oteltrace .WithSpanKind (oteltrace .SpanKindServer ),
6770 }
6871 if path := c .Path (); path != "" {
69- rAttr := semconv . HTTPRoute (path )
72+ rAttr := semconvSrv . Route (path )
7073 opts = append (opts , oteltrace .WithAttributes (rAttr ))
7174 }
7275 spanName := spanNameFormatter (c )
@@ -88,7 +91,7 @@ func Middleware(service string, opts ...Option) echo.MiddlewareFunc {
8891 status := c .Response ().Status
8992 span .SetStatus (semconvutil .HTTPServerStatus (status ))
9093 if status > 0 {
91- span .SetAttributes (semconv . HTTPStatusCode (status ))
94+ span .SetAttributes (semconvSrv . StatusCode (status ))
9295 }
9396
9497 return err
0 commit comments