func setupClient()

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
}