Sobes.tech
Senior

W CV jest wzmianka, że wdrożyłeś tracing — czy możesz opowiedzieć więcej?

sobes.tech AI

Odpowiedź od AI

Wdrożenie śledzenia w projekcie oznaczało integrację systemu śledzenia rozproszonego do monitorowania i analizy wydajności mikroserwisów. Użyłem OpenTelemetry do zbierania i przesyłania danych o opóźnieniach, błędach i ścieżkach zapytań między usługami. To umożliwiło identyfikację wąskich gardeł w systemie, optymalizację czasu reakcji i poprawę diagnostyki problemów.

Przykład: w aplikacji Go dodałem middleware, które tworzy spany dla każdego żądania HTTP, przekazując kontekst dalej w łańcuchu wywołań:

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

W ten sposób uzyskaliśmy przejrzystość działania usług i możliwość szybkiego reagowania na incydenty.