Назад к вопросам
Selectel
Senior
3
Как вы использовали OpenTelemetry? Куда отправляли трейсы?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
OpenTelemetry в Go я использовал для сбора распределённых трейсов и метрик из микросервисов. Обычно интегрировал SDK в приложение, создавал спаны для ключевых операций, например, HTTP-запросов, вызовов баз данных и внешних сервисов.
Трейсы отправлял в системы наблюдения, такие как Jaeger или Zipkin, используя соответствующие экспортёры. Также часто отправлял данные в облачные сервисы мониторинга, например, Google Cloud Trace или AWS X-Ray, в зависимости от инфраструктуры. Это позволяло визуализировать цепочки вызовов и быстро находить узкие места в производительности.
Пример инициализации экспортёра Jaeger в Go:
import (
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/jaeger"
"go.opentelemetry.io/otel/sdk/trace"
)
func initTracer() (*trace.TracerProvider, error) {
exp, err := jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint("http://localhost:14268/api/traces")))
if err != nil {
return nil, err
}
tp := trace.NewTracerProvider(trace.WithBatcher(exp))
otel.SetTracerProvider(tp)
return tp, nil
}