in tracing/impl/stackdriver_tracer.go [339:366]
func stackdriverTracerFactory(config map[string]string) (opentracing.Tracer, io.Closer, error) {
stackdriverCfg := &stackdriverConfig{
options: &stackdriver.Options{},
sampler: trace.NeverSample(),
}
for k, v := range config {
mapper := stackdriverConfigMapper[k]
if mapper != nil {
err := mapper(stackdriverCfg, v)
if err != nil {
return nil, nil, err
}
} else {
log.Printf("stackdriver tracer: warning: ignoring unknown configuration option: %s", k)
}
}
exporter, err := stackdriver.NewExporter(*stackdriverCfg.options)
if err != nil {
return nil, nil, err
}
trace.RegisterExporter(exporter)
trace.ApplyConfig(trace.Config{DefaultSampler: stackdriverCfg.sampler})
return &adapterTracer{exporter}, &stackdriverCloser{exporter}, nil
}