Enha: tracing [WIP]
This commit is contained in:
22
main.go
22
main.go
@ -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)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user