gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

trace.go (1618B)


      1 // Copyright The OpenTelemetry Authors
      2 //
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //     http://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 
     15 package otel // import "go.opentelemetry.io/otel"
     16 
     17 import (
     18 	"go.opentelemetry.io/otel/internal/global"
     19 	"go.opentelemetry.io/otel/trace"
     20 )
     21 
     22 // Tracer creates a named tracer that implements Tracer interface.
     23 // If the name is an empty string then provider uses default name.
     24 //
     25 // This is short for GetTracerProvider().Tracer(name, opts...)
     26 func Tracer(name string, opts ...trace.TracerOption) trace.Tracer {
     27 	return GetTracerProvider().Tracer(name, opts...)
     28 }
     29 
     30 // GetTracerProvider returns the registered global trace provider.
     31 // If none is registered then an instance of NoopTracerProvider is returned.
     32 //
     33 // Use the trace provider to create a named tracer. E.g.
     34 //
     35 //	tracer := otel.GetTracerProvider().Tracer("example.com/foo")
     36 //
     37 // or
     38 //
     39 //	tracer := otel.Tracer("example.com/foo")
     40 func GetTracerProvider() trace.TracerProvider {
     41 	return global.TracerProvider()
     42 }
     43 
     44 // SetTracerProvider registers `tp` as the global trace provider.
     45 func SetTracerProvider(tp trace.TracerProvider) {
     46 	global.SetTracerProvider(tp)
     47 }