Sobes.tech
Senior

U CV-u je navedeno da si implementirao tracing — možeš li reći više?

sobes.tech АИ

Одговор од АИ

Implementacija tracinga u projektu značila je integraciju distribuiranog sistema tracinga za nadgledanje i analizu performansi mikroservisa. Koristio sam OpenTelemetry za prikupljanje i prenos podataka o kašnjenjima, greškama i putanjama zahteva između servisa. To je omogućilo identifikaciju uskih grla u sistemu, optimizaciju vremena odziva i poboljšanje dijagnostike problema.

Primer: u Go aplikaciji, dodao sam middleware koji kreira spanove za svaki HTTP zahtev, prenoseći kontekst duž lanca poziva:

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))
    })
}

Na ovaj način smo postigli transparentnost u radu servisa i mogućnost brzog reagovanja na incidente.