...
1 package opentracing
2
3 import "github.com/opentracing/opentracing-go/log"
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 type NoopTracer struct{}
19
20 type noopSpan struct{}
21 type noopSpanContext struct{}
22
23 var (
24 defaultNoopSpanContext SpanContext = noopSpanContext{}
25 defaultNoopSpan Span = noopSpan{}
26 defaultNoopTracer Tracer = NoopTracer{}
27 )
28
29 const (
30 emptyString = ""
31 )
32
33
34 func (n noopSpanContext) ForeachBaggageItem(handler func(k, v string) bool) {}
35
36
37 func (n noopSpan) Context() SpanContext { return defaultNoopSpanContext }
38 func (n noopSpan) SetBaggageItem(key, val string) Span { return n }
39 func (n noopSpan) BaggageItem(key string) string { return emptyString }
40 func (n noopSpan) SetTag(key string, value interface{}) Span { return n }
41 func (n noopSpan) LogFields(fields ...log.Field) {}
42 func (n noopSpan) LogKV(keyVals ...interface{}) {}
43 func (n noopSpan) Finish() {}
44 func (n noopSpan) FinishWithOptions(opts FinishOptions) {}
45 func (n noopSpan) SetOperationName(operationName string) Span { return n }
46 func (n noopSpan) Tracer() Tracer { return defaultNoopTracer }
47 func (n noopSpan) LogEvent(event string) {}
48 func (n noopSpan) LogEventWithPayload(event string, payload interface{}) {}
49 func (n noopSpan) Log(data LogData) {}
50
51
52 func (n NoopTracer) StartSpan(operationName string, opts ...StartSpanOption) Span {
53 return defaultNoopSpan
54 }
55
56
57 func (n NoopTracer) Inject(sp SpanContext, format interface{}, carrier interface{}) error {
58 return nil
59 }
60
61
62 func (n NoopTracer) Extract(format interface{}, carrier interface{}) (SpanContext, error) {
63 return nil, ErrSpanContextNotFound
64 }
65
View as plain text