Goolge profiler tool instalation for Ubuntu:
sudo apt-get install google-perftools
Analyse memory consumption:
LD_PRELOAD=/usr/lib/libtcmalloc.so.0.0.0 HEAPPROFILE=gpt-heapprofile.log ./your-program
To analyse mmp please set HEAP_PROFILE_MMAP environment variable to TRUE.
Performance analysis:
LD_PRELOAD=/usr/lib/libprofiler.so.0.4.5 CPUPROFILE=/home/amd/gst-log gst-launch-1.0 -f filesrc location= ./1080p_H264.mp4 ! qtdemux ! h264parse ! vaapidecode ! filesink location= test.yuv
Convert Data to pdf format:
google-pprof --pdf /usr/bin/python /home/amd/gst-log > profile_output.pdf
Text output can be obtained by typing:
google-pprof --text /usr/bin/python /home/amd/gst-log > profiling_output.txt
The file "/home/amd/gst-log" can also be analyzed with some specific graphical interfaces like "kcachegrind".
To prepare de data for kcachegrind type:
google-pprof --callgrind /usr/bin/python /home/amd/gst-log > profiling_kcachegrind.txt
visualize the information use kcachegrind:
kcachegrind profiling_kcachegrind.txt &
Example view of Performance Analysis:
References:
http://goog-perftools.sourceforge.net/doc/cpu_profiler.html
http://alexott.net/en/writings/prog-checking/GooglePT.html
http://kratos-wiki.cimne.upc.edu/index.php/How_to_Profile_an_application_(using_google-perftools)
http://stackoverflow.com/questions/10874308/how-to-use-google-perf-tools
Setting Profile frequency :
ReplyDeleteLD_PRELOAD=/usr/lib/libprofiler.so.0.3.2 PROFILEFREQUENCY=1000000 CPUPROFILE=/home/test/Videos/mpv.log mpv --hwdec=vdpau -vo vdpau ./1080p_H264.mp4