mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2025-02-13 13:48:28 +02:00
339ca2d974
* Allow specifying custom timestamps for events Adding event with timestamp is not yet a part of the OpenTelemetry specification, but this function will come in handy when implementing the OpenTracing bridge. * Add opentracing bridge, wrapper tracer and migration interfaces There are some features missing - setting up links and span kind; context propagation will only work between two OpenTracing bridges. * Add some tests for the opentracing bridge The tests mostly check various aspects of the cooperation between OpenTracing and OpenTelemetry APIs.
35 lines
1.2 KiB
Go
35 lines
1.2 KiB
Go
// Copyright 2019, 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 migration
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
type doDeferredContextSetupType struct{}
|
|
|
|
// WithDeferredSetup returns a context that can tell the OpenTelemetry
|
|
// tracer to skip the context setup in the Start() function.
|
|
func WithDeferredSetup(ctx context.Context) context.Context {
|
|
return context.WithValue(ctx, doDeferredContextSetupType{}, doDeferredContextSetupType{})
|
|
}
|
|
|
|
// SkipContextSetup can tell the OpenTelemetry tracer to skip the
|
|
// context setup during the span creation in the Start() function.
|
|
func SkipContextSetup(ctx context.Context) bool {
|
|
_, ok := ctx.Value(doDeferredContextSetupType{}).(doDeferredContextSetupType)
|
|
return ok
|
|
}
|