cmd/strelaysrv: Add profiling support, default disabled

This commit is contained in:
Jakob Borg 2017-08-30 16:07:15 +02:00
parent 5883eb9a25
commit 7aaa92ac47
2 changed files with 7 additions and 0 deletions

View File

@ -81,6 +81,8 @@ var (
natLease int
natRenewal int
natTimeout int
pprofEnabled bool
)
func main() {
@ -105,6 +107,7 @@ func main() {
flag.IntVar(&natLease, "nat-lease", 60, "NAT lease length in minutes")
flag.IntVar(&natRenewal, "nat-renewal", 30, "NAT renewal frequency in minutes")
flag.IntVar(&natTimeout, "nat-timeout", 10, "NAT discovery timeout in seconds")
flag.BoolVar(&pprofEnabled, "pprof", false, "Enable the built in profiling on the status server")
flag.Parse()
if extAddress == "" {

View File

@ -6,6 +6,7 @@ import (
"encoding/json"
"log"
"net/http"
"net/http/pprof"
"runtime"
"sync/atomic"
"time"
@ -18,6 +19,9 @@ func statusService(addr string) {
handler := http.NewServeMux()
handler.HandleFunc("/status", getStatus)
if pprofEnabled {
handler.HandleFunc("/debug/pprof/", pprof.Index)
}
srv := http.Server{
Addr: addr,