in util/common/traces/otlp/generator.go [101:125]
func setupClient(ctx context.Context) (*sdktrace.TracerProvider, func(context.Context) error, error) {
res := resource.NewWithAttributes(
semconv.SchemaURL,
semconv.ServiceName(serviceName),
)
tp, err := setupTraceProvider(ctx, res)
if err != nil {
return nil, nil, err
}
otel.SetTracerProvider(tp)
otel.SetTextMapPropagator(xray.Propagator{})
return tp, func(context.Context) (err error) {
timeoutCtx, cancel := context.WithTimeout(ctx, time.Second)
defer cancel()
err = tp.Shutdown(timeoutCtx)
if err != nil {
return err
}
return nil
}, nil
}