The Linux kernel's internal tracing framework is called ftrace.
Originally short for “Function Tracer,” ftrace was designed to record kernel function calls, but it grew into a broad framework for observing internal kernel behavior. It can trace scheduling, interrupts, filesystem activity, power-management events, virtualization operations, and more.
ftrace became part of the mainline Linux kernel in version 2.6.27, released on October 9, 2008. It works through tracer plugins and can dynamically enable or disable function instrumentation, allowing developers to investigate performance problems without rebuilding the kernel.
A common mix-up is confusing ftrace with strace or ltrace. strace observes system calls made by user-space programs, while ltrace follows calls to shared libraries. perf is a broader performance-analysis toolkit that can use several tracing mechanisms, including kernel tracepoints; it is not the kernel's internal tracing framework itself. ftrace is accessed primarily through virtual files exposed by debugfs, with tools such as trace-cmd and KernelShark providing friendlier analysis workflows.