mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-12-22 17:10:10 +00:00
separate pprof from debug mode
enabled with -pprof now.
This commit is contained in:
parent
636bc22d52
commit
f0dccc58aa
14
main.go
14
main.go
@ -38,6 +38,7 @@ var (
|
|||||||
DATA, CONFIG, HOST *string
|
DATA, CONFIG, HOST *string
|
||||||
PORT *int
|
PORT *int
|
||||||
DEBUG *bool
|
DEBUG *bool
|
||||||
|
PPROF *bool
|
||||||
TEST bool
|
TEST bool
|
||||||
SWAGGER *bool
|
SWAGGER *bool
|
||||||
warning = color.New(color.FgYellow).SprintfFunc()
|
warning = color.New(color.FgYellow).SprintfFunc()
|
||||||
@ -172,7 +173,8 @@ func start(asDaemon, firstCall bool) {
|
|||||||
CONFIG = flag.String("config", app.configPath, "alternate path to config file.")
|
CONFIG = flag.String("config", app.configPath, "alternate path to config file.")
|
||||||
HOST = flag.String("host", "", "alternate address to host web ui on.")
|
HOST = flag.String("host", "", "alternate address to host web ui on.")
|
||||||
PORT = flag.Int("port", 0, "alternate port to host web ui on.")
|
PORT = flag.Int("port", 0, "alternate port to host web ui on.")
|
||||||
DEBUG = flag.Bool("debug", false, "Enables debug logging and exposes pprof.")
|
DEBUG = flag.Bool("debug", false, "Enables debug logging.")
|
||||||
|
PPROF = flag.Bool("pprof", false, "Exposes pprof profiler on /debug/pprof.")
|
||||||
SWAGGER = flag.Bool("swagger", false, "Enable swagger at /swagger/index.html")
|
SWAGGER = flag.Bool("swagger", false, "Enable swagger at /swagger/index.html")
|
||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
@ -182,6 +184,9 @@ func start(asDaemon, firstCall bool) {
|
|||||||
if *DEBUG {
|
if *DEBUG {
|
||||||
os.Setenv("DEBUG", "1")
|
os.Setenv("DEBUG", "1")
|
||||||
}
|
}
|
||||||
|
if *PPROF {
|
||||||
|
os.Setenv("PPROF", "1")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if os.Getenv("SWAGGER") == "1" {
|
if os.Getenv("SWAGGER") == "1" {
|
||||||
@ -190,6 +195,9 @@ func start(asDaemon, firstCall bool) {
|
|||||||
if os.Getenv("DEBUG") == "1" {
|
if os.Getenv("DEBUG") == "1" {
|
||||||
*DEBUG = true
|
*DEBUG = true
|
||||||
}
|
}
|
||||||
|
if os.Getenv("PPROF") == "1" {
|
||||||
|
*PPROF = true
|
||||||
|
}
|
||||||
// attempt to apply command line flags correctly
|
// attempt to apply command line flags correctly
|
||||||
if app.configPath == *CONFIG && app.dataPath != *DATA {
|
if app.configPath == *CONFIG && app.dataPath != *DATA {
|
||||||
app.dataPath = *DATA
|
app.dataPath = *DATA
|
||||||
@ -248,11 +256,13 @@ func start(asDaemon, firstCall bool) {
|
|||||||
debugMode = true
|
debugMode = true
|
||||||
}
|
}
|
||||||
if debugMode {
|
if debugMode {
|
||||||
app.info.Print(warning("\n\nWARNING: Don't use debug mode in production, as it exposes pprof on the network.\n\n"))
|
|
||||||
app.debug = NewLogger(os.Stdout, "[DEBUG] ", log.Ltime|log.Lshortfile, color.FgYellow)
|
app.debug = NewLogger(os.Stdout, "[DEBUG] ", log.Ltime|log.Lshortfile, color.FgYellow)
|
||||||
} else {
|
} else {
|
||||||
app.debug = emptyLogger(false)
|
app.debug = emptyLogger(false)
|
||||||
}
|
}
|
||||||
|
if *PPROF {
|
||||||
|
app.info.Print(warning("\n\nWARNING: Don't use pprof in production.\n\n"))
|
||||||
|
}
|
||||||
|
|
||||||
// Starts listener to receive commands over a unix socket. Use with 'jfa-go start/stop'
|
// Starts listener to receive commands over a unix socket. Use with 'jfa-go start/stop'
|
||||||
if asDaemon {
|
if asDaemon {
|
||||||
|
@ -85,7 +85,7 @@ func (app *appContext) loadRouter(address string, debug bool) *gin.Engine {
|
|||||||
app.loadHTML(router)
|
app.loadHTML(router)
|
||||||
router.Use(static.Serve("/", app.webFS))
|
router.Use(static.Serve("/", app.webFS))
|
||||||
router.NoRoute(app.NoRouteHandler)
|
router.NoRoute(app.NoRouteHandler)
|
||||||
if debug {
|
if *PPROF {
|
||||||
app.debug.Println("Loading pprof")
|
app.debug.Println("Loading pprof")
|
||||||
pprof.Register(router)
|
pprof.Register(router)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user