42 lines
645 B
Go
42 lines
645 B
Go
package pprof
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
_ "net/http/pprof"
|
|
"os"
|
|
"time"
|
|
|
|
"go_dreamfactory/lego/sys/log"
|
|
|
|
"github.com/wolfogre/go-pprof-practice/animal"
|
|
)
|
|
|
|
func newSys(options Options) (sys *Pprof, err error) {
|
|
if options.IsOpen {
|
|
sys = &Pprof{options: options}
|
|
go sys.Start()
|
|
}
|
|
return
|
|
}
|
|
|
|
type Pprof struct {
|
|
options Options
|
|
}
|
|
|
|
func (this *Pprof) Start() {
|
|
go func() {
|
|
if err := http.ListenAndServe(fmt.Sprintf(":%d", this.options.ListenPort), nil); err != nil {
|
|
log.Fatalf("Start Pprof Fatalf err:%v", err)
|
|
}
|
|
os.Exit(0)
|
|
}()
|
|
|
|
for {
|
|
for _, v := range animal.AllAnimals {
|
|
v.Live()
|
|
}
|
|
time.Sleep(time.Second)
|
|
}
|
|
}
|