I am working on Ceph (https://en.wikipedia.org/wiki/Ceph_(software). It is an open-source software storage platform.
- Through git I have cloned Ceph in my home folder.
- Built its dependencies
- And compiled Ceph in debug mode.
In order to work as a developer on Ceph, a Ceph utility, vstart.sh, allows you to deploy fake local cluster for development purpose. The fake local cluster is deployed by a script vstart.sh.
As it deploys a cluster, as a developer you can develop READ and WRITE tests to test the deployed cluster. Hence client programs (client test codes). These READ and WRITE tests are compiled using GCC in build folder. Once compiled you get executable. I have some of these test codes in C and some in C++.
Here I would like to bring Intel VTune Profiler in my workflow. I would like to do profiling of Ceph through my READ and WRITE test codes. Profiling of call functions, loops, etc.
And I am using a single virtual machine (Linux CentOS 7). Ceph is written mostly in C++.
- Does Intel VTune Profiler fits my scenario?
- If yes, given my scenario, where exactly Intel VTune Profiler should be installed?
- The executable of READ and WRITE test codes are in build folder i.e. /home/user/ceph/build....How can I launch VTune profiler in this case?
- Does Intel VTune Profler supports C executable?
Looking forward to help.
Kindly find answers for your queries below :
1) Yes Intel Vtune fits for your scenario.
2) Intel Vtune should be installed in your CentOS where you run the tests.
3) Vtune can be launched via GUI and Commandline. You can specify the path of your application in Vtune. An example for commandline is given below :
vtune -collect hotspots -knob sampling-mode=sw -- /home/user/ceph/build...
For more information please refer, https://software.intel.com/en-us/vtune-help-running-basic-hotspots-analysis-from-the-command-line
4) Yes, if its done with debug compiler options then it should work..
Thanks a lot for quick reply :-) .
Hi following are my hardware details:
Model Name: AMD EPYC Processor
- Any chance I can have Hardware Event-Based Sampling in Hotspots, Microarchitecture Exploration etc? Because In Hotspots I can only use User-Mode Sampling but not the Hardware Event-Based Sampling. Similarly I can't use Microarchitecture Exploration
AFAIK, considering I am using KVM based VM and the processor is AMD, I have to make some changes?
As mentioned in https://software.intel.com/en-us/comment/1957920#comment-1957920 Vtune officially does not support h/w analysis on AMD processors, but it works well with Intel CPU's, so if you wish to do h/w based analysis you may need to change the CPU