The DTrace Dynamic Tracing Framework
This is the Linux port of
the Solaris Dynamic Tracing Framework.
DTrace is composed of three portions, an in-kernel core built into the UEK kernels, a userspace utility, dtrace-utils, and a type storage library, libdtrace-ctf. Kernel 4.14 (in the uek5/master branch) is a technology preview.
Trees based on upstream Linux 4.14 and 4.15 stable are also available.
There is a degree of tying between the userspace tools and the kernel: in recent kernels this is signified via the version of the dtrace-kernel-headers capability found in the specfile, which is then used by the userspace specfile to require a compatible kernel at build time. libdtrace-ctf is easier: you can just use the tip of the latest release branch and everything should work.
RPMs for Oracle Linux are available from here:
The license for DTrace has changed over time. Versions before 0.6.1 include a CDDL kernel module and a proprietary userspace component; versions 0.6.1 and above have a GPL kernel component and a UPL userspace component.