This repository has been archived by the owner on May 23, 2023. It is now read-only.
/
noop.go
85 lines (74 loc) 路 2.92 KB
/
noop.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package opentracing
import "golang.org/x/net/context"
type noopTraceContext struct{}
type noopSpan struct{}
type noopRecorder struct{}
type noopTraceContextSource struct{}
type noopOpenTracer struct {
noopTraceContextSource
}
var (
defaultNoopTraceContext = noopTraceContext{}
defaultNoopSpan = noopSpan{}
defaultNoopRecorder = noopRecorder{}
defaultNoopTraceContextSource = noopTraceContextSource{}
defaultNoopOpenTracer = noopOpenTracer{}
emptyTags = Tags{}
emptyBytes = []byte{}
emptyStringMap = map[string]string{}
)
const (
emptyString = ""
)
// noopTraceContext:
func (n noopTraceContext) NewChild() (TraceContext, Tags) {
return defaultNoopTraceContext, emptyTags
}
func (n noopTraceContext) SetTraceTag(key, val string) TraceContext { return n }
func (n noopTraceContext) TraceTag(key string) string { return emptyString }
// noopSpan:
func (n noopSpan) StartChild(operationName string, keyValueTags ...interface{}) Span {
return defaultNoopSpan
}
func (n noopSpan) SetTag(key string, value interface{}) Span { return n }
func (n noopSpan) Info(message string, payload ...interface{}) {}
func (n noopSpan) Warning(message string, payload ...interface{}) {}
func (n noopSpan) Error(message string, payload ...interface{}) {}
func (n noopSpan) Finish() {}
func (n noopSpan) TraceContext() TraceContext { return defaultNoopTraceContext }
func (n noopSpan) AddToGoContext(ctx context.Context) (Span, context.Context) {
return n, GoContextWithSpan(ctx, n)
}
// noopTraceContextSource:
func (n noopTraceContextSource) MarshalTraceContextBinary(tcid TraceContext) ([]byte, []byte) {
return emptyBytes, emptyBytes
}
func (n noopTraceContextSource) MarshalTraceContextStringMap(tcid TraceContext) (map[string]string, map[string]string) {
return emptyStringMap, emptyStringMap
}
func (n noopTraceContextSource) UnmarshalTraceContextBinary(
traceContextID []byte,
traceTags []byte,
) (TraceContext, error) {
return defaultNoopTraceContext, nil
}
func (n noopTraceContextSource) UnmarshalTraceContextStringMap(
traceContextID map[string]string,
traceTags map[string]string,
) (TraceContext, error) {
return defaultNoopTraceContext, nil
}
func (n noopTraceContextSource) NewRootTraceContext() TraceContext {
return defaultNoopTraceContext
}
// noopRecorder:
func (n noopRecorder) SetTag(key string, val interface{}) ProcessIdentifier { return n }
func (n noopRecorder) RecordSpan(span *RawSpan) {}
func (n noopRecorder) ProcessName() string { return "" }
// noopOpenTracer:
func (n noopOpenTracer) StartTrace(operationName string, keyValueTags ...interface{}) Span {
return defaultNoopSpan
}
func (n noopOpenTracer) JoinTrace(operationName string, parent interface{}, keyValueTags ...interface{}) Span {
return defaultNoopSpan
}