Sobes.tech
Назад к вопросам
Senior
3

Как вы использовали OpenTelemetry? Куда отправляли трейсы?

Компании, где спрашивали
SelectelSelectel

Ответ от нейросети

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
}