Profiling CPU usage of a ceph command (callgrind)
loic
After compiling Ceph from sources with:
./configure --with-debug CFLAGS='-g' CXXFLAGS='-g'
The crushtool test mode is used to profile the crush implementation with:
valgrind --tool=callgrind \ --callgrind-out-file=crush.callgrind \ src/crushtool \ -i src/test/cli/crushtool/one-hundered-devices.crushmap \ --test --show-bad-mappings
The resulting crush.callgrind file can then be analyzed with
kcachegrind crush.callgrind
Any Ceph command can be profiled in this way.