mirror of
https://github.com/containers/podman
synced 2024-10-19 08:44:11 +00:00
4fb24ab145
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
30 lines
692 B
Go
30 lines
692 B
Go
package tracing
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
|
|
"github.com/opentracing/opentracing-go"
|
|
"github.com/uber/jaeger-client-go"
|
|
"github.com/uber/jaeger-client-go/config"
|
|
)
|
|
|
|
// Init returns an instance of Jaeger Tracer that samples 100% of traces and logs all spans to stdout.
|
|
func Init(service string) (opentracing.Tracer, io.Closer) {
|
|
cfg := &config.Configuration{
|
|
ServiceName: service,
|
|
Sampler: &config.SamplerConfig{
|
|
Type: "const",
|
|
Param: 1,
|
|
},
|
|
Reporter: &config.ReporterConfig{
|
|
LogSpans: true,
|
|
},
|
|
}
|
|
tracer, closer, err := cfg.NewTracer(config.Logger(jaeger.StdLogger))
|
|
if err != nil {
|
|
panic(fmt.Sprintf("ERROR: cannot init Jaeger: %v\n", err))
|
|
}
|
|
return tracer, closer
|
|
}
|