From 2707294bb6d2ceb3d0ad724284cbf8a0e0a1f254 Mon Sep 17 00:00:00 2001 From: Stephen McQuay Date: Wed, 6 Nov 2013 22:14:22 -0800 Subject: [PATCH] Added flag to start with live http profiler --- main.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/main.go b/main.go index 38137d1..21f81ce 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "log" "math/rand" "net/http" + _ "net/http/pprof" "os" "runtime/pprof" "time" @@ -18,6 +19,7 @@ var verbose = flag.Bool("verbose", false, "") var width = flag.Float64("width", 800, "width of field") var height = flag.Float64("height", 550, "height of field") var profile = flag.String("pprof", "", "if specified will run with pprof") +var netprofile = flag.Bool("netprof", false, "if specified will run with net/http/pprof") var debug = flag.Bool("debug", false, "automatically create games if they don't exist") var delta float32 @@ -39,19 +41,26 @@ func main() { } pprof.StartCPUProfile(f) } + if *netprofile { + go func() { + log.Println(http.ListenAndServe("localhost:8667", nil)) + }() + } games = MapLock{m: make(map[string]*game)} idg = NewIdGenerator() delta = (float32(*tick) / 1000.0) * float32(*timescale) - http.Handle("/ws/", websocket.Handler(addPlayer)) - http.Handle("/game/start/", JsonHandler(startGame)) - http.Handle("/game/list/", JsonHandler(listGames)) - http.HandleFunc("/game/stop/", stopGame) - http.HandleFunc("/fuck/shit/up/", killServer) + sm := http.NewServeMux() - err := http.ListenAndServe(*addr, nil) + sm.Handle("/ws/", websocket.Handler(addPlayer)) + sm.Handle("/game/start/", JsonHandler(startGame)) + sm.Handle("/game/list/", JsonHandler(listGames)) + sm.HandleFunc("/game/stop/", stopGame) + sm.HandleFunc("/fuck/shit/up/", killServer) + + err := http.ListenAndServe(*addr, sm) if err != nil { log.Fatal("unable to start server") }