}
```
-另外,当配置文件中的`debug模式`为`true`时
+另外,当配置文件中的`debug路径`不为空时, 访问此路径可以获取调试信息,为空时关闭,需要/结尾,默认为空
-- 标准包[net/http/pprof](https://pkg.go.dev/net/http/pprof)将在`/debug/pprof/`路径可用,从而可以使用`go tool pprof`工具进行性能调试。
-- 当录制fmp4时,每1分钟打印m4s池状态
+- 标准包[net/http/pprof](https://pkg.go.dev/net/http/pprof)将在`debug路径`路径可用,从而可以使用`go tool pprof`工具进行性能调试。
+
+另外,当配置文件中的`debug模式`为`true`时,默认为`false`, 启用额外调试信息
+- 当录制fmp4时,每1分钟打印m4s池状态
#### 自定义config_K_v.json
当启动时使用`-ckv 路径`,将从此路径(或http地址)加载config_K_v.json并覆盖默认config_K_v.json中的配置项。
}
// debug模式
- if de, ok := c.C.K_v.LoadV(`debug模式`).(bool); ok && de {
- c.C.SerF.Store("/debug/pprof/", func(w http.ResponseWriter, r *http.Request) {
+ if debugP, ok := c.C.K_v.LoadV(`debug路径`).(string); ok && debugP != "" {
+ c.C.SerF.Store(debugP, func(w http.ResponseWriter, r *http.Request) {
if c.DefaultHttpCheck(c.C, w, r, http.MethodGet, http.MethodPost) {
return
}
- pprof.Index(w, r)
- })
- c.C.SerF.Store("/debug/pprof/cmdline", func(w http.ResponseWriter, r *http.Request) {
- if c.DefaultHttpCheck(c.C, w, r, http.MethodGet, http.MethodPost) {
- return
- }
- pprof.Cmdline(w, r)
- })
- c.C.SerF.Store("/debug/pprof/profile", func(w http.ResponseWriter, r *http.Request) {
- if c.DefaultHttpCheck(c.C, w, r, http.MethodGet, http.MethodPost) {
- return
- }
- pprof.Profile(w, r)
- })
- c.C.SerF.Store("/debug/pprof/symbol", func(w http.ResponseWriter, r *http.Request) {
- if c.DefaultHttpCheck(c.C, w, r, http.MethodGet, http.MethodPost) {
- return
- }
- pprof.Symbol(w, r)
- })
- c.C.SerF.Store("/debug/pprof/trace", func(w http.ResponseWriter, r *http.Request) {
- if c.DefaultHttpCheck(c.C, w, r, http.MethodGet, http.MethodPost) {
+ if name, found := strings.CutPrefix(r.URL.Path, debugP); found && name != "" {
+ switch name {
+ case "cmdline":
+ pprof.Cmdline(w, r)
+ case "profile":
+ pprof.Profile(w, r)
+ case "trace":
+ pprof.Trace(w, r)
+ default:
+ pprof.Handler(name).ServeHTTP(w, r)
+ }
return
}
- pprof.Trace(w, r)
+ pprof.Index(w, r)
})
}
"几秒后重载-help":"最少间隔60s,-1时不重载",
"几秒后重载":60,
"下播后不记录人气观看人数":true,
- "debug模å¼\8f-help":"å\9c¨/debug/pprof/å\90¯ç\94¨è°\83è¯\95",
+ "debug模å¼\8f-help":"å\90¯ç\94¨é¢\9då¤\96è°\83è¯\95ä¿¡æ\81¯",
"debug模式":false,
+ "debug路径-help":"当Web服务地址不为空时, 访问此路径可以获取调试信息,为空时关闭,需要/结尾",
+ "debug路径":"",
"性能路径-help":"当Web服务地址不为空时, 访问此路径可以获取性能信息,为空时关闭",
"性能路径":"/state/",
"生成pgo-help":"将在退出后生成pgo文件在指定路径,default.pgo将有助于下次构建的优化,但会导致gc频繁,构建缓慢,为空时不生成",