OProfile is a system-wide profiler for Linux systems, capable of profiling all running code at low overhead. OProfile is released under the GNU GPL.
It consists of a kernel driver and a daemon for collecting sample data, and several post-profiling tools for turning data into information.
OProfile leverages the hardware performance counters of the CPU to enable profiling of a wide variety of interesting statistics, which can also be used for basic time-spent profiling. All code is profiled: hardware and software interrupt handlers, kernel modules, the kernel, shared libraries, and applications.
OProfile is currently in alpha status; however it has proven stable over a large number of differing configurations; it is being used on machines ranging from laptops to 16-way NUMA-Q boxes. As always, there is no warranty.
Linux/MIPS support for Oprofile was added for Linux 2.6.10. For Linux 2.2 and 2.4 Oprofile is maintained as a separate patch which does not have MIPS support and due to the decaying interest in favor of 2.6 there probably won't be.
CPUs support by the kernel
Currently only the RM9000 is supported.
Oprofile support is available at the time of this writing only in the Sourceforge Oprofile CVS repository. The following MIPS processors are supported by the userspace tools:
- http://oprofile.sourceforge.net The Oprofile homepage