Five years ago I tried to make some sense of this by researching all of the existing technologies. In the kernel I found:
- ftrace (https://lwn.net/Articles/290277/)
- tracepoints (https://www.kernel.org/doc/Documentation/trace/tracepoints.txt)
- kprobes (https://www.kernel.org/doc/Documentation/kprobes.txt)
- events (https://www.kernel.org/doc/Documentation/trace/events.txt)
Now apparently we can add: - BPF, a packet filter that grew into a tracing framework
(https://lwn.net/Articles/599755/)
In user-space we have: - perf
- systemtap
- lttng
- other, random, fragmented things
This talk seems to add a bunch of other fragmented user-space tools.I don't mean to put down anybody's work, but this stuff will never be user-friendly as long as it remains so fragmented, IMHO.