@@ -10,15 +10,15 @@ import (
1010 jaegercfg "github.com/uber/jaeger-client-go/config"
1111 jaegerlog "github.com/uber/jaeger-client-go/log"
1212 "github.com/uber/jaeger-lib/metrics"
13- "io "
13+ "log "
1414 "net/http"
1515)
1616
1717// NewTracer - initializing opentracing tracer and set up global tracer.
18- func NewTracer (name string , host string ) (opentracing.Tracer , io. Closer , error ) {
18+ func NewTracer (ctx context. Context , name string , host string ) (opentracing.Tracer , error ) {
1919 udpTransport , err := jaeger .NewUDPTransport (fmt .Sprintf ("%s:6831" , host ), 0 )
2020 if err != nil {
21- return nil , nil , errors .Wrap (err , "create transport error" )
21+ return nil , errors .Wrap (err , "create transport error" )
2222 }
2323
2424 cfg := jaegercfg.Configuration {
@@ -43,9 +43,16 @@ func NewTracer(name string, host string) (opentracing.Tracer, io.Closer, error)
4343 jaegercfg .Metrics (jMetricsFactory ),
4444 )
4545
46+ go func () {
47+ <- ctx .Done ()
48+ if err = closer .Close (); err != nil {
49+ log .Panic (err )
50+ }
51+ }()
52+
4653 opentracing .SetGlobalTracer (tracer )
4754
48- return tracer , closer , nil
55+ return tracer , nil
4956}
5057
5158// InjectToReq - inject opentracing span to *http.Requst
0 commit comments