Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-dms3
Commits
a29b9d33
Commit
a29b9d33
authored
Oct 29, 2014
by
Juan Batiz-Benet
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #235 from jbenet/feat/mprof-in-cli-ipfs1-debug
perf(cmd/ipfs) write mprof file in debug mode
parents
79866d33
7510ef20
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
1 deletion
+29
-1
cmd/ipfs/Makefile
cmd/ipfs/Makefile
+8
-0
cmd/ipfs/ipfs.go
cmd/ipfs/ipfs.go
+21
-1
No files found.
cmd/ipfs/Makefile
View file @
a29b9d33
...
...
@@ -5,3 +5,11 @@ build:
install
:
build
go
install
# cpu profiling: `go tool pprof ipfs cpu.prof`
# mem profiling: `go tool pprof ipfs ipfs.mprof`
clean
:
rm
-f
cpu.prof
rm
-f
ipfs.mprof
rm
-f
ipfs
cmd/ipfs/ipfs.go
View file @
a29b9d33
...
...
@@ -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>]"
,
...
...
@@ -99,12 +101,14 @@ func main() {
// if debugging, setup profiling.
if
u
.
Debug
{
ofi
,
err
:=
os
.
Create
(
"cpu.prof"
)
defer
ofi
.
Close
()
if
err
!=
nil
{
fmt
.
Println
(
err
)
return
}
pprof
.
StartCPUProfile
(
ofi
)
defer
ofi
.
Close
()
defer
pprof
.
StopCPUProfile
()
}
...
...
@@ -115,6 +119,13 @@ func main() {
}
os
.
Exit
(
1
)
}
if
u
.
Debug
{
err
:=
writeHeapProfileToFile
()
if
err
!=
nil
{
log
.
Critical
(
err
)
}
}
return
}
...
...
@@ -218,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
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment