github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/pkg/tracing/tracing.go (about)

     1  package tracing
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  
     7  	"github.com/opentracing/opentracing-go"
     8  	"github.com/uber/jaeger-client-go"
     9  	"github.com/uber/jaeger-client-go/config"
    10  )
    11  
    12  // Init returns an instance of Jaeger Tracer that samples 100% of traces and logs all spans to stdout.
    13  func Init(service string) (opentracing.Tracer, io.Closer) {
    14  	cfg := &config.Configuration{
    15  		ServiceName: service,
    16  		Sampler: &config.SamplerConfig{
    17  			Type:  "const",
    18  			Param: 1,
    19  		},
    20  		Reporter: &config.ReporterConfig{
    21  			LogSpans: true,
    22  		},
    23  	}
    24  	tracer, closer, err := cfg.NewTracer(config.Logger(jaeger.StdLogger))
    25  	if err != nil {
    26  		panic(fmt.Sprintf("ERROR: cannot init Jaeger: %v\n", err))
    27  	}
    28  	return tracer, closer
    29  }