Enha: tracing [WIP]

This commit is contained in:
Grail Finder
2025-07-11 17:34:07 +03:00
parent ea27d35254
commit 134b7b6262
3 changed files with 26 additions and 3 deletions

View File

@ -4,4 +4,5 @@ services:
image: jaegertracing/all-in-one:latest
ports:
- "6831:6831/udp"
- "14268:14268"
- "16686:16686"

22
main.go
View File

@ -9,6 +9,7 @@ import (
"gralias/telemetry"
"log/slog"
"net/http"
_ "net/http/pprof"
"os"
"os/signal"
"path/filepath"
@ -111,16 +112,33 @@ func main() {
cm := crons.NewCronManager(repo, slog.Default())
cm.Start()
server := ListenToRequests(cfg.ServerConfig.Port)
pprofPort := "6060"
pprofServer := &http.Server{
Addr: ":" + pprofPort,
}
go func() {
slog.Info("Pprof server listening", "addr", pprofPort)
if err := pprofServer.ListenAndServe(); err != nil && err != http.ErrServerClosed {
slog.Error("Pprof server failed", "error", err)
}
}()
go func() {
if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed {
panic(err)
}
}()
<-stop
slog.Info("Shutting down server...")
slog.Info("Shutting down servers...")
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
if err := server.Shutdown(ctx); err != nil {
slog.Error("server shutdown failed", "error", err)
slog.Error("Main server shutdown failed", "error", err)
}
if err := pprofServer.Shutdown(ctx); err != nil {
slog.Error("Pprof server shutdown failed", "error", err)
}
}

View File

@ -36,7 +36,11 @@ func NewTracerProvider(exp sdktrace.SpanExporter) *sdktrace.TracerProvider {
// OtelMiddleware wraps the provided http.Handler with OpenTelemetry tracing.
func OtelMiddleware(handler http.Handler) http.Handler {
return otelhttp.NewHandler(handler, "http.server")
return otelhttp.NewHandler(handler, "http.server",
otelhttp.WithSpanNameFormatter(func(operation string, r *http.Request) string {
return r.URL.Path
}),
)
}
func InitTracer() func() {