Базовая настройка OTEL для работы с Jaeger

Устарело

Не вижу смысла использовать этот endpoint так как даже сам Jaeger умеет в OTLP

Ниже приведена функция которая обеспечивает базовую настройку tracer’а OpenTelemetry для работы с Jaeger коллектором.

const TRACER_NAME = "demo_service"
 
var tracer = otel.Tracer(TRACER_NAME)
 
func initOtel() error {
	exp, err := jaeger.New(jaeger.WithCollectorEndpoint(
		jaeger.WithEndpoint("http://127.0.0.1:14268/api/traces")),
	)
	if err != nil {
		return err
	}
 
	tp := tracesdk.NewTracerProvider(
		tracesdk.WithBatcher(exp),
		tracesdk.WithResource(resource.NewWithAttributes(
			semconv.SchemaURL,
			semconv.ServiceNameKey.String("demo_service_name"),
		)))
 
	otel.SetTracerProvider(tp)
	otel.SetTextMapPropagator(propagation.TraceContext{})
	return nil
}