in tracing/impl/lightstep_tracer.go [35:71]
func lightstepTracerFactory(config map[string]string) (opentracing.Tracer, io.Closer, error) {
options := lightstep.Options{
Tags: map[string]interface{}{},
}
// Convert the configuration map into a jaeger configuration
for k, v := range config {
mapper := lightstepConfigMapper[k]
if k == keyStrictConnectionParsing {
continue
}
if mapper != nil {
err := mapper(&options, v)
if err != nil {
return nil, nil, err
}
} else {
if config[keyStrictConnectionParsing] != "" {
return nil, nil, fmt.Errorf("lightstep tracer: invalid option: %s: %w", k, ErrConfiguration)
}
log.Printf("lightstep tracer: warning: ignoring unknown configuration option: %s", k)
}
}
if options.AccessToken == "" {
return nil, nil, fmt.Errorf("failed to parse access_token from config: %q: %w", config, ErrConfiguration)
}
tracer := lightstep.NewTracer(options)
if tracer == nil {
return nil, nil, fmt.Errorf("lightstep tracer: unable to create tracer, review log messages: %w", ErrConfiguration)
}
return tracer, &lightstepCloser{tracer}, nil
}