Автоматическое инструментирование http.Handler OTEL

Для того чтобы автоматически создавать span’ы для всех входящих HTTP запросов средствами OpenTelemetry можно следующим образом обернуть весь router Chi (или любой другой http.Handler):

import (
"github.com/go-chi/chi"
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
)
 
r := chi.NewRouter()
wrappedHandler := otelhttp.NewHandler(r, "hello-instrumented")
 
http.ListenAndServe(":3000", wrappedHandler)