in sampleapp/main.go [118:153]
func initProvider() {
ctx := context.Background()
endpoint := os.Getenv("OTEL_EXPORTER_OTLP_ENDPOINT")
if endpoint == "" {
endpoint = "0.0.0.0:4317" // setting default endpoint for exporter
}
// Create and start new OTLP trace exporter
traceExporter, err := otlptracegrpc.New(ctx, otlptracegrpc.WithInsecure(), otlptracegrpc.WithEndpoint(endpoint), otlptracegrpc.WithDialOption(grpc.WithBlock()))
handleErr(err, "failed to create new OTLP trace exporter")
idg := xray.NewIDGenerator()
service := os.Getenv("GO_GORILLA_SERVICE_NAME")
if service == "" {
service = "go-gorilla"
}
res := resource.NewWithAttributes(
semconv.SchemaURL,
// the service name used to display traces in backends
semconv.ServiceNameKey.String("test-service"),
)
handleErr(err, "failed to create resource")
tp := sdktrace.NewTracerProvider(
sdktrace.WithSampler(sdktrace.AlwaysSample()),
sdktrace.WithResource(res),
sdktrace.WithBatcher(traceExporter),
sdktrace.WithIDGenerator(idg),
)
otel.SetTracerProvider(tp)
otel.SetTextMapPropagator(xray.Propagator{})
}