Oracle Continues Building DTrace For Linux Atop BPF

In recent years Oracle has been working on DTrace for Linux with a focus on DTrace for Oracle Linux / its "Unbreakable Enterprise Kernel". Their kernel-side work has never been upstreamed and while they do have a GitHub repository its usage doesn't seem to be very prevalent outside of the Oracle ecosystem.
Oracle engineers have been building their DTrace Linux code off (e)BPF, which has been one of the technologies that moved developers past the era of dreaming about DTrace on Linux. There's also been LTTng, ftrace/ltrace/strace, and other tracing and debug efforts over the past decade to address the void when DTrace wasn't around on Linux.
Oracle engineer Kris Van Hees presented at this week's Open-Source Summit Europe on their DTrace efforts for Linux and making it full-featured while leveraging BPF.
This year the Oracle team hit version 2.0.0 of their DTrace code on Linux that is now BPF-powered and supports more features than their previous releases. Among the roadblocks they have encountered in their work has been the lack of BPF code sharing at the kernel level, no memory or string functions with BPF, no loops in BPF, and scalability issues.
In any case, for those interested in DTrace on Linux as we approach 2021, more details can be learned from this PDF slide deck from Open-Source Summit Europe 2020. The latest out-of-tree code for DTrace on Linux continues to be developed via GitHub.
1 Comment