
Hello, I'm trying to profile a yesod app, and it seems like Haskell's profiler only writes to file when the program exists. Gracefully. So Ctrl+C twice is out of the question. What I'm doing: $ ~/Downloads/spawn-fcgi-1.6.3/src/spawn-fcgi -n -s /tmp/f.socket -- ~/projects/f/dist/build/fastcgi/fastcgi +RTS -p Then I enter a page that I want to profile. Then my system starts swapping because the page takes 100% RAM (I'm suspecting a space leak). Then I hit Ctrl+C Ctrl+C to quit the yesod program. Then I look at fastcgi.prof, and find it empty. How can I get profiling info to be written to file? Am I wrong in something I'm doing? Thanks, Aur

Hi Aur,
In my experience, the .prof will be written by hitting Ctrl+C once and
waiting (the second one aborts .prof generation). If it looks like it
will never finish, can you get it to do anything without eating all
your ram? How are you testing -- with something like httperf, or
simply a web browser?
-matt
On Tue, Apr 5, 2011 at 1:52 PM, Aur Saraf
Hello,
I'm trying to profile a yesod app, and it seems like Haskell's profiler only writes to file when the program exists. Gracefully. So Ctrl+C twice is out of the question.
What I'm doing:
$ ~/Downloads/spawn-fcgi-1.6.3/src/spawn-fcgi -n -s /tmp/f.socket -- ~/projects/f/dist/build/fastcgi/fastcgi +RTS -p
Then I enter a page that I want to profile.
Then my system starts swapping because the page takes 100% RAM (I'm suspecting a space leak).
Then I hit Ctrl+C Ctrl+C to quit the yesod program.
Then I look at fastcgi.prof, and find it empty.
How can I get profiling info to be written to file? Am I wrong in something I'm doing?
Thanks, Aur
_______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel

Hi,
Your method doesn't work for me. I tried it with a page that doesn't
consume all RAM.
I get an empty prof file. It is dated correctly.
I'm retrying with explicitly setting -auto-all and -caf-all in cabal.
Perhaps it was not the default.
I'm testing with `links` (since I'm working over SSH tonigh).
On Wed, Apr 6, 2011 at 12:34 AM, Matt Brown
Hi Aur,
In my experience, the .prof will be written by hitting Ctrl+C once and waiting (the second one aborts .prof generation). If it looks like it will never finish, can you get it to do anything without eating all your ram? How are you testing -- with something like httperf, or simply a web browser?
-matt
On Tue, Apr 5, 2011 at 1:52 PM, Aur Saraf
wrote: Hello,
I'm trying to profile a yesod app, and it seems like Haskell's profiler only writes to file when the program exists. Gracefully. So Ctrl+C twice is out of the question.
What I'm doing:
$ ~/Downloads/spawn-fcgi-1.6.3/src/spawn-fcgi -n -s /tmp/f.socket -- ~/projects/f/dist/build/fastcgi/fastcgi +RTS -p
Then I enter a page that I want to profile.
Then my system starts swapping because the page takes 100% RAM (I'm suspecting a space leak).
Then I hit Ctrl+C Ctrl+C to quit the yesod program.
Then I look at fastcgi.prof, and find it empty.
How can I get profiling info to be written to file? Am I wrong in something I'm doing?
Thanks, Aur
_______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel

You can add an extra route which, when called, exits the program. I haven't
tried it myself*, but I think it should work.
Michael
* OK, I think I might have done it once a while ago, but I'm not sure.
On Tue, Apr 5, 2011 at 11:52 PM, Aur Saraf
Hello,
I'm trying to profile a yesod app, and it seems like Haskell's profiler only writes to file when the program exists. Gracefully. So Ctrl+C twice is out of the question.
What I'm doing:
$ ~/Downloads/spawn-fcgi-1.6.3/src/spawn-fcgi -n -s /tmp/f.socket -- ~/projects/f/dist/build/fastcgi/fastcgi +RTS -p
Then I enter a page that I want to profile.
Then my system starts swapping because the page takes 100% RAM (I'm suspecting a space leak).
Then I hit Ctrl+C Ctrl+C to quit the yesod program.
Then I look at fastcgi.prof, and find it empty.
How can I get profiling info to be written to file? Am I wrong in something I'm doing?
Thanks, Aur
_______________________________________________ web-devel mailing list web-devel@haskell.org http://www.haskell.org/mailman/listinfo/web-devel
participants (3)
-
Aur Saraf
-
Matt Brown
-
Michael Snoyman