Ftrace is an internal tracer designed to help out developers and designers of systems to find what is going on inside the kernel. [1] ftrace is activated by setting the appropriate flags in the kernel build settings. Trace-cmd is a front-end to ftrace [2,3.4]. KernelShark is a front-end to trace-cmd and makes using the advanced (filter) features of Trace-cmd and Ftrace, easy to interpret and organize your kernel profiling efforts. [4,5,6) Kernel profiling is of keen interests to web servers, systems security and performance optimization of single systems and HA-Clustered servers. Here is a poor quality video on trace-cmd & KernelShark [7]. KernelShark and trace-cmd would be fantastic kernel tools to have available on Gentoo, for debugging and optimization of most kernel issues. In many ways, FTRACE exceeds strace, ltrace, dtrace, sysprof and oprofile combined [8,9]. KernelShark gives us a wonderful, API to organize repetitive work on kernel diags and studies. [1] https://www.kernel.org/doc/Documentation/trace/ftrace.txt [2] http://lwn.net/Articles/410200/ [3] http://www.linux-kvm.org/page/Tracing [4] http://git.kernel.org/cgit/linux/kernel/git/rostedt/trace-cmd.git [5] http://rostedt.homelinux.com/kernelshark/ [6] http://pkgs.org/download/kernelshark [7] http://www.youtube.com/watch?v=ABRtzVtUVBo [8] http://crtags.blogspot.com/2012/04/dtrace-ftrace-ltrace-strace-so-many-to.html [9] https://wiki.linaro.org/LEG/Engineering/TOOLS/tracing-and-profiling-tools#ftrace James
KernelShark is distributed in the same repository that trace-cmd is: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git According to this article from 2011: http://lwn.net/Articles/425583/