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.