lotus/lib/tracing/setup.go
2020-02-22 12:36:22 +01:00

35 lines
692 B
Go

package tracing
import (
"os"
"contrib.go.opencensus.io/exporter/jaeger"
logging "github.com/ipfs/go-log/v2"
"go.opencensus.io/trace"
)
var log = logging.Logger("tracing")
func SetupJaegerTracing(serviceName string) *jaeger.Exporter {
if _, ok := os.LookupEnv("LOTUS_JAEGER"); !ok {
return nil
}
agentEndpointURI := os.Getenv("LOTUS_JAEGER")
je, err := jaeger.NewExporter(jaeger.Options{
AgentEndpoint: agentEndpointURI,
ServiceName: serviceName,
})
if err != nil {
log.Errorw("Failed to create the Jaeger exporter", "error", err)
return nil
}
trace.RegisterExporter(je)
trace.ApplyConfig(trace.Config{
DefaultSampler: trace.AlwaysSample(),
})
return je
}