1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-03 18:35:08 +02:00
Files
opentelemetry-go/trace.go
T

37 lines
1.1 KiB
Go
Raw Normal View History

// Copyright The OpenTelemetry Authors
2024-02-29 07:05:28 +01:00
// SPDX-License-Identifier: Apache-2.0
2019-06-14 13:09:41 -07:00
package otel // import "go.opentelemetry.io/otel"
import (
"go.opentelemetry.io/otel/internal/global"
2020-11-06 23:13:31 +01:00
"go.opentelemetry.io/otel/trace"
)
// Tracer creates a named tracer that implements Tracer interface.
// If the name is an empty string then provider uses default name.
//
// This is short for GetTracerProvider().Tracer(name, opts...)
func Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
return GetTracerProvider().Tracer(name, opts...)
}
// GetTracerProvider returns the registered global trace provider.
2020-09-23 15:16:13 -07:00
// If none is registered then an instance of NoopTracerProvider is returned.
//
2019-10-22 13:19:11 -07:00
// Use the trace provider to create a named tracer. E.g.
2022-08-24 21:42:28 -05:00
//
// tracer := otel.GetTracerProvider().Tracer("example.com/foo")
//
// or
2022-08-24 21:42:28 -05:00
//
// tracer := otel.Tracer("example.com/foo")
func GetTracerProvider() trace.TracerProvider {
return global.TracerProvider()
}
// SetTracerProvider registers `tp` as the global trace provider.
2020-11-06 23:13:31 +01:00
func SetTracerProvider(tp trace.TracerProvider) {
global.SetTracerProvider(tp)
}