Skip to content

Commit 0da7b1e

Browse files
committed
update init func
1 parent 2afa7d2 commit 0da7b1e

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

helper.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

helper_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,20 @@ import (
1212
)
1313

1414
func TestTracer(t *testing.T) {
15-
tracer, closer, err := NewTracer("test", "")
15+
ctx := context.Background()
16+
17+
tracer, err := NewTracer(ctx, "test", "")
1618
require.NoError(t, err)
1719
require.NotNil(t, tracer)
18-
require.NotNil(t, closer)
1920

20-
tracer, closer, err = NewTracer("test", "wtf")
21+
tracer, err = NewTracer(ctx, "test", "wtf")
2122
require.Error(t, err)
2223
}
2324

2425
func TestInjectToReq(t *testing.T) {
25-
tracer, closer, err := NewTracer("test", "")
26+
tracer, err := NewTracer(context.Background(), "test", "")
2627
require.NoError(t, err)
2728
require.NotNil(t, tracer)
28-
require.NotNil(t, closer)
2929

3030
handler := func(w http.ResponseWriter, r *http.Request) {
3131
_, _ = w.Write([]byte(r.Header.Get("Uber-Trace-Id")))

middleware_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ import (
1414
)
1515

1616
func TestMiddleware(t *testing.T) {
17-
tracer, closer, err := NewTracer("test", "")
17+
tracer, err := NewTracer(context.Background(), "test", "")
1818
require.NoError(t, err)
1919
require.NotNil(t, tracer)
20-
require.NotNil(t, closer)
2120

2221
type response struct {
2322
SpanID string

0 commit comments

Comments
 (0)