本文整理汇总了Golang中github.com/couchbase/query/server.Server.CpuProfile方法的典型用法代码示例。如果您正苦于以下问题:Golang Server.CpuProfile方法的具体用法?Golang Server.CpuProfile怎么用?Golang Server.CpuProfile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/couchbase/query/server.Server
的用法示例。
在下文中一共展示了Server.CpuProfile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: fillSettings
func fillSettings(settings map[string]interface{}, srvr *server.Server) map[string]interface{} {
settings[_CPUPROFILE] = srvr.CpuProfile()
settings[_MEMPROFILE] = srvr.MemProfile()
settings[_SERVICERS] = srvr.Servicers()
settings[_SCANCAP] = srvr.ScanCap()
settings[_REQUESTSIZECAP] = srvr.RequestSizeCap()
settings[_DEBUG] = srvr.Debug()
settings[_PIPELINEBATCH] = srvr.PipelineBatch()
settings[_PIPELINECAP] = srvr.PipelineCap()
settings[_MAXPARALLELISM] = srvr.MaxParallelism()
settings[_TIMEOUT] = srvr.Timeout()
settings[_KEEPALIVELENGTH] = srvr.KeepAlive()
settings[_LOGLEVEL] = srvr.LogLevel()
return settings
}
示例2: signalCatcher
// signalCatcher blocks until a signal is recieved and then takes appropriate action
func signalCatcher(server *server.Server, endpoint *http.HttpEndpoint) {
sig_chan := make(chan os.Signal, 4)
signal.Notify(sig_chan, os.Interrupt, syscall.SIGTERM)
var s os.Signal
select {
case s = <-sig_chan:
}
if server.CpuProfile() != "" {
logging.Infop("Stopping CPU profile")
pprof.StopCPUProfile()
}
if server.MemProfile() != "" {
f, err := os.Create(server.MemProfile())
if err != nil {
logging.Errorp("Cannot create memory profile file", logging.Pair{"error", err})
} else {
logging.Infop("Writing Memory profile")
pprof.WriteHeapProfile(f)
f.Close()
}
}
if s == os.Interrupt {
// Interrupt (ctrl-C) => Immediate (ungraceful) exit
logging.Infop("Shutting down immediately")
os.Exit(0)
}
logging.Infop("Attempting graceful exit")
// Stop accepting new requests
err := endpoint.Close()
if err != nil {
logging.Errorp("error closing http listener", logging.Pair{"err", err})
}
err = endpoint.CloseTLS()
if err != nil {
logging.Errorp("error closing https listener", logging.Pair{"err", err})
}
}