mirror of
				https://github.com/1Password/onepassword-operator.git
				synced 2025-10-26 09:20:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package opentracing
 | |
| 
 | |
| import "github.com/opentracing/opentracing-go/log"
 | |
| 
 | |
| // A NoopTracer is a trivial, minimum overhead implementation of Tracer
 | |
| // for which all operations are no-ops.
 | |
| //
 | |
| // The primary use of this implementation is in libraries, such as RPC
 | |
| // frameworks, that make tracing an optional feature controlled by the
 | |
| // end user. A no-op implementation allows said libraries to use it
 | |
| // as the default Tracer and to write instrumentation that does
 | |
| // not need to keep checking if the tracer instance is nil.
 | |
| //
 | |
| // For the same reason, the NoopTracer is the default "global" tracer
 | |
| // (see GlobalTracer and SetGlobalTracer functions).
 | |
| //
 | |
| // WARNING: NoopTracer does not support baggage propagation.
 | |
| type NoopTracer struct{}
 | |
| 
 | |
| type noopSpan struct{}
 | |
| type noopSpanContext struct{}
 | |
| 
 | |
| var (
 | |
| 	defaultNoopSpanContext SpanContext = noopSpanContext{}
 | |
| 	defaultNoopSpan        Span        = noopSpan{}
 | |
| 	defaultNoopTracer      Tracer      = NoopTracer{}
 | |
| )
 | |
| 
 | |
| const (
 | |
| 	emptyString = ""
 | |
| )
 | |
| 
 | |
| // noopSpanContext:
 | |
| func (n noopSpanContext) ForeachBaggageItem(handler func(k, v string) bool) {}
 | |
| 
 | |
| // noopSpan:
 | |
| func (n noopSpan) Context() SpanContext                                  { return defaultNoopSpanContext }
 | |
| func (n noopSpan) SetBaggageItem(key, val string) Span                   { return n }
 | |
| func (n noopSpan) BaggageItem(key string) string                         { return emptyString }
 | |
| func (n noopSpan) SetTag(key string, value interface{}) Span             { return n }
 | |
| func (n noopSpan) LogFields(fields ...log.Field)                         {}
 | |
| func (n noopSpan) LogKV(keyVals ...interface{})                          {}
 | |
| func (n noopSpan) Finish()                                               {}
 | |
| func (n noopSpan) FinishWithOptions(opts FinishOptions)                  {}
 | |
| func (n noopSpan) SetOperationName(operationName string) Span            { return n }
 | |
| func (n noopSpan) Tracer() Tracer                                        { return defaultNoopTracer }
 | |
| func (n noopSpan) LogEvent(event string)                                 {}
 | |
| func (n noopSpan) LogEventWithPayload(event string, payload interface{}) {}
 | |
| func (n noopSpan) Log(data LogData)                                      {}
 | |
| 
 | |
| // StartSpan belongs to the Tracer interface.
 | |
| func (n NoopTracer) StartSpan(operationName string, opts ...StartSpanOption) Span {
 | |
| 	return defaultNoopSpan
 | |
| }
 | |
| 
 | |
| // Inject belongs to the Tracer interface.
 | |
| func (n NoopTracer) Inject(sp SpanContext, format interface{}, carrier interface{}) error {
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| // Extract belongs to the Tracer interface.
 | |
| func (n NoopTracer) Extract(format interface{}, carrier interface{}) (SpanContext, error) {
 | |
| 	return nil, ErrSpanContextNotFound
 | |
| }
 | 
