There is one infrastructure with supporting tools that were in the core of mainline, OProfile . However, the interface was broken in some respects, and in fact it did not see much benefit outside of the primitive oprofile command line tools. Then there were a bunch of "oprofile replacements", perfmon, perfmon2, perfctr, perfmon3 (?) Etc., until, finally, several months ago, Perf events was merged.
Then there are a number of higher-level libraries and tools built on top of the above kernel-level interfaces, such as PAPI and TAU
janneb
source share