profiler for 2-process proxy application
Hi,
I'm looking for a C++ profiler to measure the performance of a server proxy application. My company is only considering open-soure/free solutions.
On googling, I see there aren't many choices: gprof, FunctionCheck, OProfile. Some have suggested programs like Valgrind and KCachegrind, but these seem to focus more on the hardware interaction of the application (when I'm looking more for function call counts and time spent in functions, etc.) Proprietary profilers (VTune, Purify, etc), I know they are great, but they are not part of my options. Does anyone have any other suggestions?
Regarding the 3 that I have explored:
gprof - This is the route I'd prefer to go the most, because my unix/linux systems already has it. However, the problem that I've read about on other websites is that it does not support multithreads. That is ok, I am not concerned with threads. Does it not support multi-process either? (I am hoping it does...although I doubt it.)
Is there possibly a work around so that it monitors only 1 of the 2 processes in my proxy application? What happens is: everytime a client connects to the proxy, the proxy does a fork. The parent goes back to listening for more connections, so I don't really care about the parent. The child is what I want to profile, that is, the services and functions it performs for the client.
FunctionCheck - I'm having much problems installing this thing. I run the initial ./configure successfully. Then I run make and I don't think it compiles sucessfully. I'm wondering has anyone gotten through this procedure and would like to share? I can put up the errors that I got if anyone cares to diagnose =)
This program was supposed to overcome the multithread/multiprocess limitation of gprof, but the developers have stopped developing for over a year and there's hardly any setup/support info on both their website/sourceforge/google.
OProfile - Having much problems installing this thing as well. It appears that I NEED root access, and I MUST recompile the kernel to install it? I do not have root access...and my company would not be too willing to recompile the kernel for me. Also I'm not sure if I read the features correctly, does this program not have function call count?
Please help =( !!!
I am a newbie to linux, please bear with me.
|