[WiP] tracing/opentracing: bugfixes
Bas van Beek
7 years ago
19 | 19 |
return func(ctx context.Context, md *metadata.MD) context.Context {
|
20 | 20 |
if span := opentracing.SpanFromContext(ctx); span != nil {
|
21 | 21 |
// There's nothing we can do with an error here.
|
22 | |
err := tracer.Inject(span, opentracing.TextMap, metadataReaderWriter{md})
|
23 | |
if err != nil && logger != nil {
|
24 | |
logger.Log("msg", "Inject failed", "err", err)
|
|
22 |
if err := tracer.Inject(span, opentracing.TextMap, metadataReaderWriter{md}); err != nil {
|
|
23 |
logger.Log("err", err)
|
25 | 24 |
}
|
26 | 25 |
}
|
27 | 26 |
return ctx
|
|
40 | 39 |
span, err := tracer.Join(operationName, opentracing.TextMap, metadataReaderWriter{md})
|
41 | 40 |
if err != nil {
|
42 | 41 |
span = tracer.StartSpan(operationName)
|
43 | |
if logger != nil {
|
44 | |
logger.Log("msg", "Join failed", "err", err)
|
|
42 |
if err != opentracing.ErrTraceNotFound {
|
|
43 |
logger.Log("err", err)
|
45 | 44 |
}
|
46 | 45 |
}
|
47 | 46 |
return opentracing.ContextWithSpan(ctx, span)
|
26 | 26 |
host, portString, err := net.SplitHostPort(req.URL.Host)
|
27 | 27 |
if err == nil {
|
28 | 28 |
ext.PeerHostname.Set(span, host)
|
29 | |
if port, err := strconv.Atoi(portString); err != nil {
|
|
29 |
if port, _ := strconv.Atoi(portString); err != nil {
|
30 | 30 |
ext.PeerPort.Set(span, uint16(port))
|
31 | 31 |
}
|
32 | 32 |
} else {
|
|
34 | 34 |
}
|
35 | 35 |
|
36 | 36 |
// There's nothing we can do with any errors here.
|
37 | |
err = tracer.Inject(
|
|
37 |
if err = tracer.Inject(
|
38 | 38 |
span,
|
39 | 39 |
opentracing.TextMap,
|
40 | 40 |
opentracing.HTTPHeaderTextMapCarrier(req.Header),
|
41 | |
)
|
42 | |
if err != nil && logger != nil {
|
43 | |
logger.Log("msg", "Join failed", "err", err)
|
|
41 |
); err != nil {
|
|
42 |
logger.Log("err", err)
|
44 | 43 |
}
|
45 | 44 |
}
|
46 | 45 |
return ctx
|
|
64 | 63 |
)
|
65 | 64 |
if err != nil {
|
66 | 65 |
span = tracer.StartSpan(operationName)
|
67 | |
if logger != nil {
|
68 | |
logger.Log("msg", "Join failed", "err", err)
|
|
66 |
if err != opentracing.ErrTraceNotFound {
|
|
67 |
logger.Log("err", err)
|
69 | 68 |
}
|
70 | 69 |
}
|
71 | 70 |
return opentracing.ContextWithSpan(ctx, span)
|