// Copyright The OpenTelemetry Authors// SPDX-License-Identifier: Apache-2.0package trace // import "go.opentelemetry.io/otel/trace"import ()// NewNoopTracerProvider returns an implementation of TracerProvider that// performs no operations. The Tracer and Spans created from the returned// TracerProvider also perform no operations.//// Deprecated: Use [go.opentelemetry.io/otel/trace/noop.NewTracerProvider]// instead.func () TracerProvider {returnnoopTracerProvider{}}type noopTracerProvider struct{ embedded.TracerProvider }var _ TracerProvider = noopTracerProvider{}// Tracer returns noop implementation of Tracer.func (noopTracerProvider) (string, ...TracerOption) Tracer {returnnoopTracer{}}// noopTracer is an implementation of Tracer that performs no operations.type noopTracer struct{ embedded.Tracer }var _ Tracer = noopTracer{}// Start carries forward a non-recording Span, if one is present in the context, otherwise it// creates a no-op Span.func (noopTracer) ( context.Context, string, ...SpanStartOption) (context.Context, Span) { := SpanFromContext()if , := .(nonRecordingSpan); ! {// span is likely already a noopSpan, but let's be sure = noopSpanInstance }returnContextWithSpan(, ), }// noopSpan is an implementation of Span that performs no operations.type noopSpan struct{ embedded.Span }var noopSpanInstance Span = noopSpan{}// SpanContext returns an empty span context.func (noopSpan) () SpanContext { returnSpanContext{} }// IsRecording always returns false.func (noopSpan) () bool { returnfalse }// SetStatus does nothing.func (noopSpan) (codes.Code, string) {}// SetError does nothing.func (noopSpan) (bool) {}// SetAttributes does nothing.func (noopSpan) (...attribute.KeyValue) {}// End does nothing.func (noopSpan) (...SpanEndOption) {}// RecordError does nothing.func (noopSpan) (error, ...EventOption) {}// AddEvent does nothing.func (noopSpan) (string, ...EventOption) {}// AddLink does nothing.func (noopSpan) (Link) {}// SetName does nothing.func (noopSpan) (string) {}// TracerProvider returns a no-op TracerProvider.func ( noopSpan) () TracerProvider {return .tracerProvider(autoInstEnabled)}// autoInstEnabled defines if the auto-instrumentation SDK is enabled.//// The auto-instrumentation is expected to overwrite this value to true when it// attaches to the process.var autoInstEnabled = new(bool)// tracerProvider return a noopTracerProvider if autoEnabled is false,// otherwise it will return a TracerProvider from the sdk package used in// auto-instrumentation.////go:noinlinefunc (noopSpan) ( *bool) TracerProvider {if * {returnnewAutoTracerProvider() }returnnoopTracerProvider{}}
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.