Sobes.tech
Senior

Az önéletrajzban említik, hogy bevezetted a tracinget — tudnál róla többet mondani?

sobes.tech MI

Válasz az MI-től

A projektben a tracing bevezetése a rendszer elosztott trace rendszerének integrálását jelentette a mikroservice-ek teljesítményének monitorozására és elemzésére. Az OpenTelemetry-t használtam az adatok gyűjtésére és továbbítására a késésekről, hibákról és a kérések útjairól a szolgáltatások között. Ez lehetővé tette a rendszer szűk keresztmetszetének azonosítását, a válaszidők optimalizálását és a problémák diagnosztizálásának javítását.

Példa: egy Go alkalmazásban hozzáadtam egy middleware-t, amely minden HTTP-kéréshez spanokat hoz létre, és a kontextust továbbítja a hívási láncon keresztül:

import (
    "go.opentelemetry.io/otel"
    "go.opentelemetry.io/otel/trace"
    "net/http"
)

func tracingMiddleware(next http.Handler) http.Handler {
    tracer := otel.Tracer("my-service")
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        ctx, span := tracer.Start(r.Context(), r.URL.Path)
        defer span.End()
        next.ServeHTTP(w, r.WithContext(ctx))
    })
}

Így átláthatóságot értünk el a szolgáltatások működésében, és lehetővé vált a gyors reagálás incidensekre.