Commit 7510ef20 authored by Brian Tiger Chow's avatar Brian Tiger Chow

feat(cmd/ipfs1) add mem profiling in debug mode

TODO add memory profiling to ipfs2
parent 1e847059
......@@ -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)
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment