客户端连接到contactd fork / execs slave,后者又连接到九个表管理器并接受来自客户端的请求并将它们传递给九个表管理器.
运行典型的客户端连接后,我关闭所有服务器进程.我运行nytprofmerge将各种nytprof.out.nnnn文件合并到nytprof-merged.out中,然后运行nytprofhtml -f nytprof-merged.out –open.
当HTML报告打开时,除了联系之外我什么也没看到.顶级子程序主要是BEGIN块,导入,AUTOLOAD ……早期执行的东西.
这让我认为NYTPROF正在跨越一个分支(基于多个nytprof.out文件),但由于某种原因,并没有继续描述exec的Perl程序.
我在MacOSX 10.8.2中运行perl 5.16.1和最新的Devel :: NYTProf.
关于我没做过的任何建议?
解决方法
http://search.cpan.org/~timb/Devel-NYTProf-4.25/lib/Devel/NYTProf.pm#forkdepth=N
forkdepth=N
When a perl process that is being profiled executes a fork() the child
process is also profiled. The forkdepth option can be used to control
this. If forkdepth is zero then profiling will be disabled in the
child process.If forkdepth is greater than zero then profiling will be enabled in
the child process and the forkdepth value in that process is
decremented by one.If forkdepth is -1 (the default) then there’s no limit on the number
of generations of children that are profiled.
问候,