Browse Source

add master profiling option

pull/357/head
Chris Lu 9 years ago
parent
commit
b38ff39e8b
  1. 10
      weed/command/master.go

10
weed/command/master.go

@ -4,6 +4,7 @@ import (
"net/http" "net/http"
"os" "os"
"runtime" "runtime"
"runtime/pprof"
"strconv" "strconv"
"strings" "strings"
"time" "time"
@ -42,6 +43,7 @@ var (
garbageThreshold = cmdMaster.Flag.String("garbageThreshold", "0.3", "threshold to vacuum and reclaim spaces") garbageThreshold = cmdMaster.Flag.String("garbageThreshold", "0.3", "threshold to vacuum and reclaim spaces")
masterWhiteListOption = cmdMaster.Flag.String("whiteList", "", "comma separated Ip addresses having write permission. No limit if empty.") masterWhiteListOption = cmdMaster.Flag.String("whiteList", "", "comma separated Ip addresses having write permission. No limit if empty.")
masterSecureKey = cmdMaster.Flag.String("secure.secret", "", "secret to encrypt Json Web Token(JWT)") masterSecureKey = cmdMaster.Flag.String("secure.secret", "", "secret to encrypt Json Web Token(JWT)")
masterCpuProfile = cmdMaster.Flag.String("cpuprofile", "", "cpu profile output file")
masterWhiteList []string masterWhiteList []string
) )
@ -51,6 +53,14 @@ func runMaster(cmd *Command, args []string) bool {
*mMaxCpu = runtime.NumCPU() *mMaxCpu = runtime.NumCPU()
} }
runtime.GOMAXPROCS(*mMaxCpu) runtime.GOMAXPROCS(*mMaxCpu)
if *masterCpuProfile != "" {
f, err := os.Create(*masterCpuProfile)
if err != nil {
glog.Fatal(err)
}
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()
}
if err := util.TestFolderWritable(*metaFolder); err != nil { if err := util.TestFolderWritable(*metaFolder); err != nil {
glog.Fatalf("Check Meta Folder (-mdir) Writable %s : %s", *metaFolder, err) glog.Fatalf("Check Meta Folder (-mdir) Writable %s : %s", *metaFolder, err)
} }

Loading…
Cancel
Save