kaspad/util/profiling/profiling.go
stasatdaglabs d14809694f
[NOD-1223] Reorganize directory structure (#874)
* [NOD-1223] Delete unused files/packages.

* [NOD-1223] Move signal and limits to the os package.

* [NOD-1223] Put database and dbaccess into the db package.

* [NOD-1223] Fold the logs package into the logger package.

* [NOD-1223] Rename domainmessage to appmessage.

* [NOD-1223] Rename to/from DomainMessage to AppMessage.

* [NOD-1223] Move appmessage to the app packge.

* [NOD-1223] Move protocol to the app packge.

* [NOD-1223] Move the network package to the infrastructure packge.

* [NOD-1223] Rename cmd to executables.

* [NOD-1223] Fix go.doc in the logger package.
2020-08-18 10:26:39 +03:00

25 lines
626 B
Go

package profiling
import (
"github.com/kaspanet/kaspad/infrastructure/logger"
"net"
"net/http"
// Required for profiling
_ "net/http/pprof"
"github.com/kaspanet/kaspad/util/panics"
)
// Start starts the profiling server
func Start(port string, log *logger.Logger) {
spawn := panics.GoroutineWrapperFunc(log)
spawn("profiling.Start", func() {
listenAddr := net.JoinHostPort("", port)
log.Infof("Profile server listening on %s", listenAddr)
profileRedirect := http.RedirectHandler("/debug/pprof", http.StatusSeeOther)
http.Handle("/", profileRedirect)
log.Error(http.ListenAndServe(listenAddr, nil))
})
}