Source File
context.go
Belonging Package
go.opentelemetry.io/otel/trace
// Copyright The OpenTelemetry Authors//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at//// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.package trace // import "go.opentelemetry.io/otel/trace"importtype traceContextKeyType intconst currentSpanKey traceContextKeyType = iota// ContextWithSpan returns a copy of parent with span set as the current Span.func ( context.Context, Span) context.Context {return context.WithValue(, currentSpanKey, )}// ContextWithSpanContext returns a copy of parent with sc as the current// Span. The Span implementation that wraps sc is non-recording and performs// no operations other than to return sc as the SpanContext from the// SpanContext method.func ( context.Context, SpanContext) context.Context {return ContextWithSpan(, nonRecordingSpan{sc: })}// ContextWithRemoteSpanContext returns a copy of parent with rsc set explicly// as a remote SpanContext and as the current Span. The Span implementation// that wraps rsc is non-recording and performs no operations other than to// return rsc as the SpanContext from the SpanContext method.func ( context.Context, SpanContext) context.Context {return ContextWithSpanContext(, .WithRemote(true))}// SpanFromContext returns the current Span from ctx.//// If no Span is currently set in ctx an implementation of a Span that// performs no operations is returned.func ( context.Context) Span {if == nil {return noopSpan{}}if , := .Value(currentSpanKey).(Span); {return}return noopSpan{}}// SpanContextFromContext returns the current Span's SpanContext.func ( context.Context) SpanContext {return SpanFromContext().SpanContext()}
![]() |
The pages are generated with Golds v0.6.7. (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 @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |