fork of https://github.com/sourcegraph/zoekt
0

Configure Feed

Select the types of activity you want to include in your feed.

1package tracer 2 3import ( 4 "log" 5 "reflect" 6 7 "github.com/opentracing/opentracing-go" 8 sglog "github.com/sourcegraph/log" 9 "github.com/uber/jaeger-client-go" 10 jaegercfg "github.com/uber/jaeger-client-go/config" 11 jaegermetrics "github.com/uber/jaeger-lib/metrics" 12) 13 14func configureJaeger(resource sglog.Resource) (opentracing.Tracer, error) { 15 cfg, err := jaegercfg.FromEnv() 16 cfg.ServiceName = resource.Name 17 if err != nil { 18 return nil, err 19 } 20 cfg.Tags = append( 21 cfg.Tags, 22 opentracing.Tag{Key: "service.version", Value: resource.Version}, 23 opentracing.Tag{Key: "service.instance.id", Value: resource.InstanceID}, 24 ) 25 if reflect.DeepEqual(cfg.Sampler, &jaegercfg.SamplerConfig{}) { 26 // Default sampler configuration for when it is not specified via 27 // JAEGER_SAMPLER_* env vars. In most cases, this is sufficient 28 // enough to connect to Jaeger without any env vars. 29 cfg.Sampler.Type = jaeger.SamplerTypeConst 30 cfg.Sampler.Param = 1 // 1 => enabled 31 } 32 tracer, _, err := cfg.NewTracer( 33 jaegercfg.Logger(&jaegerLogger{}), 34 jaegercfg.Metrics(jaegermetrics.NullFactory), 35 ) 36 if err != nil { 37 return nil, err 38 } 39 return tracer, nil 40} 41 42type jaegerLogger struct{} 43 44func (l *jaegerLogger) Error(msg string) { 45 log.Printf("ERROR: %s", msg) 46} 47 48// Infof logs a message at info priority 49func (l *jaegerLogger) Infof(msg string, args ...any) { 50 log.Printf(msg, args...) 51}