func Initialize()

in tracing/initialization.go [18:55]


func Initialize(opts ...InitializationOption) io.Closer {
	config := applyInitializationOptions(opts)

	if config.connectionString == "" {
		// No opentracing connection has been set
		return &nopCloser{}
	}

	driverName, options, err := connstr.Parse(config.connectionString)
	if err != nil {
		log.WithError(err).Infoln("unable to parse connection")
		return &nopCloser{}
	}

	// URL-provided service_name overrides the InitializationOption
	if _, ok := options["service_name"]; !ok {
		options["service_name"] = config.serviceName
	}

	tracer, closer, err := impl.New(driverName, options)
	if err != nil {
		log.WithError(err).Warn("skipping tracing configuration step")
		return &nopCloser{}
	}

	if tracer == nil {
		log.Warn("no tracer provided, tracing will be disabled")
	} else {
		log.Info("Tracing enabled")
		opentracing.SetGlobalTracer(tracer)
	}

	if closer == nil {
		return &nopCloser{}
	}

	return closer
}