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
	 Grail Finder
					Grail Finder