func jaegerTracerFactory()

in tracing/impl/jaeger_tracer.go [62:92]


func jaegerTracerFactory(config map[string]string) (opentracing.Tracer, io.Closer, error) {
	traceCfg, err := jaegercfg.FromEnv()
	if err != nil {
		return nil, nil, err
	}
	options := []jaegercfg.Option{}

	// Convert the configuration map into a jaeger configuration
	for k, v := range config {
		mapper := configMapper[k]
		if k == keyStrictConnectionParsing {
			continue
		}

		if mapper != nil {
			o, err := mapper(traceCfg, v)
			if err != nil {
				return nil, nil, err
			}
			options = append(options, o...)
		} else {
			if config[keyStrictConnectionParsing] != "" {
				return nil, nil, fmt.Errorf("jaeger tracer: invalid option: %s: %w", k, ErrConfiguration)
			}

			log.Printf("jaeger tracer: warning: ignoring unknown configuration option: %s", k)
		}
	}

	return traceCfg.NewTracer(options...)
}