mirror of
https://github.com/ipfs/kubo.git
synced 2026-03-01 14:28:02 +08:00
feat(cmd/ipfs1) add mem profiling in debug mode
TODO add memory profiling to ipfs2
This commit is contained in:
parent
1e847059bc
commit
7510ef2081
@ -17,6 +17,8 @@ import (
|
||||
u "github.com/jbenet/go-ipfs/util"
|
||||
)
|
||||
|
||||
const heapProfile = "ipfs.mprof"
|
||||
|
||||
// The IPFS command tree. It is an instance of `commander.Command`.
|
||||
var CmdIpfs = &commander.Command{
|
||||
UsageLine: "ipfs [<flags>] <command> [<args>]",
|
||||
@ -117,6 +119,13 @@ func main() {
|
||||
}
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if u.Debug {
|
||||
err := writeHeapProfileToFile()
|
||||
if err != nil {
|
||||
log.Critical(err)
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@ -220,3 +229,12 @@ func setupDaemon(confdir string, node *core.IpfsNode) (*daemon.DaemonListener, e
|
||||
go dl.Listen()
|
||||
return dl, nil
|
||||
}
|
||||
|
||||
func writeHeapProfileToFile() error {
|
||||
mprof, err := os.Create(heapProfile)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer mprof.Close()
|
||||
return pprof.WriteHeapProfile(mprof)
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user