擅长:python、mysql、java
<p>我也无意中发现了这一点,花了一些时间来学习如何生成调用图(cProfile的正常结果并不是非常有用)。未来参考,这里有另一种方法来生成一个漂亮的调用树图形与cProfile+gprof2dot+graphViz。</p>
<p>----</p>
<ol>
<li>安装GraphViz:<a href="http://www.graphviz.org/Download_macos.php">http://www.graphviz.org/Download_macos.php</a></li>
<li><code>easy_install gprof2dot</code></li>
<li><p>对代码运行配置文件。</p>
<pre><code>python -m cProfile -o myLog.profile <myScript.py> arg1 arg2 ...
</code></pre></li>
<li><p>运行gprof2dot将调用配置文件转换为点文件</p>
<pre><code>gprof2dot -f pstats myLog.profile -o callingGraph.dot
</code></pre></li>
<li><p>用graphViz打开以可视化图形</p></li>
</ol>
<p>这就是最终的结果!
图形是彩色编码的-红色表示时间的浓度较高。</p>
<p><img src="https://i.stack.imgur.com/j46H8.png" alt="Graph is color-coded- red means higher concentration of time"/></p>