github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/cmd/u2u/launcher/tracing/tracing.go (about) 1 package tracing 2 3 import ( 4 opentracing "github.com/opentracing/opentracing-go" 5 jaegercfg "github.com/uber/jaeger-client-go/config" 6 jaegerlog "github.com/uber/jaeger-client-go/log" 7 "github.com/uber/jaeger-lib/metrics" 8 "gopkg.in/urfave/cli.v1" 9 10 "github.com/unicornultrafoundation/go-u2u/tracing" 11 ) 12 13 var EnableFlag = cli.BoolFlag{ 14 Name: "tracing", 15 Usage: "Enable traces collection and reporting", 16 } 17 18 func Start(ctx *cli.Context) (stop func(), err error) { 19 stop = func() {} 20 21 if !ctx.Bool(EnableFlag.Name) { 22 return 23 } 24 25 var cfg *jaegercfg.Configuration 26 cfg, err = jaegercfg.FromEnv() 27 if err != nil { 28 return 29 } 30 31 cfg.ServiceName = "u2u" 32 33 tracer, closer, err := cfg.NewTracer( 34 jaegercfg.Logger(jaegerlog.StdLogger), 35 jaegercfg.Metrics(metrics.NullFactory), 36 ) 37 if err != nil { 38 return 39 } 40 stop = func() { 41 closer.Close() 42 } 43 44 opentracing.SetGlobalTracer(tracer) 45 tracing.SetEnabled(true) 46 return 47 }