Am 15.03.2013 um 19:46 schrieb Andre LaBranche:
On Mar 15, 2013, at 11:37 AM, Axel Rau <Axel.Rau@Chaos1.DE> wrote:
Currently I'm trying to learn how to profile python processes...
Try runsnake.
Most of the hard work is already done! Thanks.
All we need to do is create a directory to hold our stats, run the server with an additional cli argument, perform the operations we wish to profile, then stop the server. Then feed the pstats file to runsnake
• mkdir foostats ; ./run -S foostats • Do stuff • Stop server (must be a graceful exit!) • Look in foostats for the goods. As my port does not install the run script, I used: /usr/local/bin/caldavd -f /usr/local/etc/caldavd/caldavd.plist -R kqueue -p /root/admin/profile and got these: -rw-r--r-- 1 caldavd wheel 628560 Mar 16 12:20 caldav-0.pstats -rw-r--r-- 1 caldavd wheel 83867 Mar 16 12:20 caldav-1.pstats -rw-r--r-- 1 root wheel 432429 Mar 16 12:20 master.pstats (-:
Using Run Snake Run:
First, install it: easy_install runsnakerun
Next, attempt to start it: runsnake
You may be missing 'wx', if so, get it.
wx is a GUI tool, which requires X11 on FreeBSD, which is not available on the server. )-: Are there any alternatives out there? Any recommendations?
Next, just feed one of your pstats files to Run Snake Run, then bear witness to the glory of many nested and brightly colored rounded rects, in addition to the list of functions encountered during profiling, sortable by a variety of criteria.
Axel --- PGP-Key:29E99DD6 ☀ +49 151 2300 9283 ☀ computing @ chaos claudius