...
Run configure with the option to add profiling support. It will check to see if the header and lilibrary is installed. You will have to recompile traffic server to add calling the profiler's start and stop functions.
Panel |
---|
bcall@snowball trafficserver$ ./configure --with-profiler |
You can either install the package with "sudo gmake install" or run the program for the current directory if you already have an installation with all the logs and configuration directories setup.
Panel |
---|
bcall@snowball trafficserver$ sudo proxy/traffic_server |
Next you will need to run your benchmark. After the benchmark is complete, kill the traffic_server process or stop traffic server with the startup script. The traffic server process will need to be shutdown before a proper profile file is written.
Panel |
---|
bcall@snowball trafficserver$ sudo killall traffic_server |
Now we can look at the profiling information.
Panel |
---|
bcall@snowball trafficserver$ pprof --text proxy/traffic_server /tmp/ts.prof | head |
To make a callgraph of program in PDF form.
Panel |
---|
bcall@snowball trafficserver$ pprof --pdf proxy/traffic_server /tmp/ts.prof > ts.pdf |
If you want to investigate a certain function you can the focus option.
Panel |
---|
bcall@snowball trafficserver$ pprof --pdf --focus=HttpSM::main_handler proxy/traffic_server /tmp/ts.prof > ts-main_handler.pdf |
Callgrind
...