mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 09:41:57 +00:00
* Vendor open tracing * Extend TimeRequestHistorgram to also emit opentracing spans. * Update some of the labels
54 lines
2.1 KiB
Go
54 lines
2.1 KiB
Go
package opentracing
|
|
|
|
import "github.com/opentracing/opentracing-go/log"
|
|
|
|
// A NoopTracer is a trivial implementation of Tracer for which all operations
|
|
// are no-ops.
|
|
type NoopTracer struct{}
|
|
|
|
type noopSpan struct{}
|
|
type noopSpanContext struct{}
|
|
|
|
var (
|
|
defaultNoopSpanContext = noopSpanContext{}
|
|
defaultNoopSpan = noopSpan{}
|
|
defaultNoopTracer = 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 defaultNoopSpan }
|
|
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
|
|
}
|