Archived
24 lines
606 B
Go
24 lines
606 B
Go
package telemetry
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
|
"go.opentelemetry.io/otel/propagation"
|
|
)
|
|
|
|
func WrapHTTP(handler http.Handler, providers *Providers, propagators propagation.TextMapPropagator) http.Handler {
|
|
if providers == nil {
|
|
return handler
|
|
}
|
|
|
|
options := []otelhttp.Option{
|
|
otelhttp.WithTracerProvider(providers.Tracer),
|
|
otelhttp.WithMeterProvider(providers.Meter),
|
|
}
|
|
if propagators != nil {
|
|
options = append(options, otelhttp.WithPropagators(propagators))
|
|
}
|
|
return otelhttp.NewHandler(handler, "workload-sts.http", options...)
|
|
}
|