Sobes.tech
Senior

Gyvenimo aprašyme minimas, kad įdiegėte tracing — galite papasakoti daugiau?

sobes.tech AI

Atsakymas iš AI

Projekte diegimas trakingo srityje reiškė paskirstyto trakingo sistemos integraciją, skirtą mikroservisų našumo stebėjimui ir analizei. Naudojau OpenTelemetry duomenų rinkimui ir perdavimui apie vėlavimus, klaidas ir užklausų kelius tarp paslaugų. Tai leido identifikuoti sistemos siaurąsias vietas, optimizuoti reagavimo laiką ir pagerinti problemų diagnostiką.

Pavyzdys: Go programoje pridėjau middleware, kuris kuria span'us kiekvienai HTTP užklausai, perduodant kontekstą per kvietimo grandinę:

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

Taip pasiekėme skaidrumą paslaugų veikloje ir galimybę greitai reaguoti į incidentus.