mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-05-06 13:42:10 +08:00
Revert "Automated cherry pick of #22262: Automated cherry pick of #22259: fix(webconsole,monitor): pprof handlers of gorilla mux"
This commit is contained in:
@@ -20,8 +20,6 @@ import (
|
||||
"net/http"
|
||||
"net/http/pprof"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
||||
"yunion.io/x/pkg/util/version"
|
||||
)
|
||||
|
||||
@@ -87,26 +85,3 @@ func profSymbol(_ context.Context, w http.ResponseWriter, r *http.Request) {
|
||||
func profTrace(_ context.Context, w http.ResponseWriter, r *http.Request) {
|
||||
pprof.Trace(w, r)
|
||||
}
|
||||
|
||||
func AddMiscHandlersToMuxRouter(app *Application, root *mux.Router, enableProfiling bool) {
|
||||
adapterF := func(appHandleFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request)) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
appHandleFunc(app.GetContext(), w, r)
|
||||
}
|
||||
}
|
||||
root.HandleFunc("/version", adapterF(VersionHandler))
|
||||
root.HandleFunc("/stats", adapterF(StatisticHandler))
|
||||
root.HandleFunc("/ping", adapterF(PingHandler))
|
||||
root.HandleFunc("/worker_stats", adapterF(WorkerStatsHandler))
|
||||
if enableProfiling {
|
||||
pp := "/debug/pprof"
|
||||
ppPath := func(sufix string) string {
|
||||
return fmt.Sprintf("%s/%s", pp, sufix)
|
||||
}
|
||||
root.HandleFunc(ppPath(""), pprof.Index)
|
||||
root.HandleFunc(ppPath("cmdline"), pprof.Cmdline)
|
||||
root.HandleFunc(ppPath("profile"), pprof.Profile)
|
||||
root.HandleFunc(ppPath("symbol"), pprof.Symbol)
|
||||
root.HandleFunc(ppPath("trace"), pprof.Trace)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import (
|
||||
"context"
|
||||
"net"
|
||||
"net/http"
|
||||
_ "net/http/pprof"
|
||||
"strconv"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
@@ -30,7 +31,6 @@ import (
|
||||
"yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
|
||||
common_options "yunion.io/x/onecloud/pkg/cloudcommon/options"
|
||||
"yunion.io/x/onecloud/pkg/monitor/models"
|
||||
"yunion.io/x/onecloud/pkg/monitor/options"
|
||||
)
|
||||
|
||||
func InitHandlers(app *appsrv.Application) {
|
||||
@@ -126,5 +126,13 @@ func addMiscHandlers(app *appsrv.Application, root *mux.Router) {
|
||||
}
|
||||
}
|
||||
root.HandleFunc("/subscriptions/write", adapterF(performHandler))
|
||||
appsrv.AddMiscHandlersToMuxRouter(app, root, options.Options.EnableAppProfiling)
|
||||
|
||||
// ref: pkg/appsrv/appsrv:addDefaultHandlers
|
||||
root.HandleFunc("/version", adapterF(appsrv.VersionHandler))
|
||||
root.HandleFunc("/stats", adapterF(appsrv.StatisticHandler))
|
||||
root.HandleFunc("/ping", adapterF(appsrv.PingHandler))
|
||||
root.HandleFunc("/worker_stats", adapterF(appsrv.WorkerStatsHandler))
|
||||
|
||||
// pprof handler
|
||||
root.PathPrefix("/debug/pprof/").Handler(http.DefaultServeMux)
|
||||
}
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net"
|
||||
"net/http"
|
||||
_ "net/http/pprof"
|
||||
"net/url"
|
||||
"os"
|
||||
"strconv"
|
||||
@@ -109,7 +111,7 @@ func start() {
|
||||
root.Handle(webconsole.WebsocketProxyPathPrefix, srv)
|
||||
|
||||
// misc handler
|
||||
appsrv.AddMiscHandlersToMuxRouter(app, root, o.Options.EnableAppProfiling)
|
||||
addMiscHandlers(app, root)
|
||||
|
||||
cron := cronman.InitCronJobManager(true, o.Options.CronJobWorkerCount)
|
||||
|
||||
@@ -135,3 +137,20 @@ func start() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func addMiscHandlers(app *appsrv.Application, root *mux.Router) {
|
||||
adapterF := func(appHandleFunc func(ctx context.Context, w http.ResponseWriter, r *http.Request)) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
appHandleFunc(app.GetContext(), w, r)
|
||||
}
|
||||
}
|
||||
|
||||
// ref: pkg/appsrv/appsrv:addDefaultHandlers
|
||||
root.HandleFunc("/version", adapterF(appsrv.VersionHandler))
|
||||
root.HandleFunc("/stats", adapterF(appsrv.StatisticHandler))
|
||||
root.HandleFunc("/ping", adapterF(appsrv.PingHandler))
|
||||
root.HandleFunc("/worker_stats", adapterF(appsrv.WorkerStatsHandler))
|
||||
|
||||
// pprof handler
|
||||
root.PathPrefix("/debug/pprof/").Handler(http.DefaultServeMux)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user