github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/pkg/tracing/tracing.go (about) 1 package tracing 2 3 import ( 4 "fmt" 5 "io" 6 7 "github.com/opentracing/opentracing-go" 8 "github.com/uber/jaeger-client-go" 9 "github.com/uber/jaeger-client-go/config" 10 ) 11 12 // Init returns an instance of Jaeger Tracer that samples 100% of traces and logs all spans to stdout. 13 func Init(service string) (opentracing.Tracer, io.Closer) { 14 cfg := &config.Configuration{ 15 ServiceName: service, 16 Sampler: &config.SamplerConfig{ 17 Type: "const", 18 Param: 1, 19 }, 20 Reporter: &config.ReporterConfig{ 21 LogSpans: true, 22 }, 23 } 24 tracer, closer, err := cfg.NewTracer(config.Logger(jaeger.StdLogger)) 25 if err != nil { 26 panic(fmt.Sprintf("ERROR: cannot init Jaeger: %v\n", err)) 27 } 28 return tracer, closer 29 }