mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-25 15:50:20 +00:00
33 lines
901 B
Go
33 lines
901 B
Go
|
package tracing
|
||
|
|
||
|
import "context"
|
||
|
|
||
|
// NopTracerProvider is a no-op tracing implementation.
|
||
|
type NopTracerProvider struct{}
|
||
|
|
||
|
var _ TracerProvider = (*NopTracerProvider)(nil)
|
||
|
|
||
|
// Tracer returns a tracer which creates no-op spans.
|
||
|
func (NopTracerProvider) Tracer(string, ...TracerOption) Tracer {
|
||
|
return nopTracer{}
|
||
|
}
|
||
|
|
||
|
type nopTracer struct{}
|
||
|
|
||
|
var _ Tracer = (*nopTracer)(nil)
|
||
|
|
||
|
func (nopTracer) StartSpan(ctx context.Context, name string, opts ...SpanOption) (context.Context, Span) {
|
||
|
return ctx, nopSpan{}
|
||
|
}
|
||
|
|
||
|
type nopSpan struct{}
|
||
|
|
||
|
var _ Span = (*nopSpan)(nil)
|
||
|
|
||
|
func (nopSpan) Name() string { return "" }
|
||
|
func (nopSpan) Context() SpanContext { return SpanContext{} }
|
||
|
func (nopSpan) AddEvent(string, ...EventOption) {}
|
||
|
func (nopSpan) SetProperty(any, any) {}
|
||
|
func (nopSpan) SetStatus(SpanStatus) {}
|
||
|
func (nopSpan) End() {}
|