I really like the idea of Flame Graph for profiling, as this will help eliminate unnecessary function calls. However, there is a trick in that it requires the profiler to perform a full stack reset each time it collects a sample. This can be done using DTrace or SystemTap quite easily, but I need to do this on an ARM device running on ubuntu (which excludes DTrace). I would also like to do this without recompiling the kernel (which excludes SystemTap).
Is it possible to get Valgrind / Callgrind or OProfile (or some other profiling tool that can run on an ARM device in Ubuntu) to output something similar: dtrace -n 'profile-1001 /pid == 12345 && arg1/ { @[ustack()] = count(); } dtrace -n 'profile-1001 /pid == 12345 && arg1/ { @[ustack()] = count(); }
source share