github.com/muhammadn/cortex@v1.9.1-0.20220510110439-46bb7000d03d/pkg/util/spanlogger/noop.go (about) 1 package spanlogger 2 3 import ( 4 opentracing "github.com/opentracing/opentracing-go" 5 "github.com/opentracing/opentracing-go/log" 6 ) 7 8 type noopTracer struct{} 9 10 type noopSpan struct{} 11 type noopSpanContext struct{} 12 13 var ( 14 defaultNoopSpanContext = noopSpanContext{} 15 defaultNoopSpan = noopSpan{} 16 defaultNoopTracer = noopTracer{} 17 ) 18 19 const ( 20 emptyString = "" 21 ) 22 23 func (n noopSpanContext) ForeachBaggageItem(handler func(k, v string) bool) {} 24 25 func (n noopSpan) Context() opentracing.SpanContext { return defaultNoopSpanContext } 26 func (n noopSpan) SetBaggageItem(key, val string) opentracing.Span { return defaultNoopSpan } 27 func (n noopSpan) BaggageItem(key string) string { return emptyString } 28 func (n noopSpan) SetTag(key string, value interface{}) opentracing.Span { return n } 29 func (n noopSpan) LogFields(fields ...log.Field) {} 30 func (n noopSpan) LogKV(keyVals ...interface{}) {} 31 func (n noopSpan) Finish() {} 32 func (n noopSpan) FinishWithOptions(opts opentracing.FinishOptions) {} 33 func (n noopSpan) SetOperationName(operationName string) opentracing.Span { return n } 34 func (n noopSpan) Tracer() opentracing.Tracer { return defaultNoopTracer } 35 func (n noopSpan) LogEvent(event string) {} 36 func (n noopSpan) LogEventWithPayload(event string, payload interface{}) {} 37 func (n noopSpan) Log(data opentracing.LogData) {} 38 39 // StartSpan belongs to the Tracer interface. 40 func (n noopTracer) StartSpan(operationName string, opts ...opentracing.StartSpanOption) opentracing.Span { 41 return defaultNoopSpan 42 } 43 44 // Inject belongs to the Tracer interface. 45 func (n noopTracer) Inject(sp opentracing.SpanContext, format interface{}, carrier interface{}) error { 46 return nil 47 } 48 49 // Extract belongs to the Tracer interface. 50 func (n noopTracer) Extract(format interface{}, carrier interface{}) (opentracing.SpanContext, error) { 51 return nil, opentracing.ErrSpanContextNotFound 52 }