Hello, every one,
I am a rookie in erlang. Recently I am trying to use the dbg and fprof module to profile a running server to observe the performance. Since the server is based on mochiweb, a quite popular web server framework, and I only wish to see the performance of my own code, I tried the dbg module. I have tried in the following two ways:
1: use dbg to write trace to file and use fprof to analyse the result
dbg:stop_clear(),
dbg:tracer(port,dbg:trace_port(file,"fprof.trace")),
dbg:tpl(util,[]),
dbg:tpl(...),
dbg:p(all,[call,return_to, procs, timestamp,running,garbage_collection]),
dbg:stop_clear(),
fprof:profile(),
Fname = lists:append("profile/",Name),
fprof:analyse({dest, Fname}).
2: like fprof, but use dbg:tpl to confine the module
fprof:trace([start, {procs, all}]),
dbg:tpl(util,[]),
dbg:tpl(...),
fprof:trace([stop]),
fprof:profile(),
Fname = lists:append("profile/",Name),
fprof:analyse({dest, Fname}).
Sadly, neither way seems to work.
So any idea about how to combine the dbg and fprof module?
Or maybe someone would like to point out the mistake I have made?
Thanks in advance for your reply~
--
陈波 / Bill
2009级本科生
清华大学软件学院
------------------------------------------------------------
Chen Bo
School of Software
Tsinghua University
Add: Building Zijing 1# Room 210B,
Tsinghua University Beijing 100084
P.R.CHINA
Tel:
+86-010-51534210 E-mail:
chenbo...@gmail.com