Brendan Gregg
在他最新的文章《Choosing a Linux Tracer (2015)》中谈到了dtrace4linux
和OL DTrace(Oracle Linux DTrace)
。原文如下:
- dtrace4linux
dtrace4linux is mostly one man’s part-time effort (Paul Fox) to port Sun DTrace to Linux. It’s impressive, and some providers work, but it’s some ways from complete, and is more of an experimental tool (unsafe). I think concern over licensing has left people wary of contributing: it will likely never make it into the Linux kernel, as Sun released DTrace under the CDDL license; Paul’s approach to this is to make it an add-on. I’d love to see DTrace on Linux and this project finished, and thought I’d spend time helping it finish when I joined Netflix. However, I’ve been spending time using the built-in tracers, ftrace and perf_events, instead.
- OL DTrace
Oracle Linux DTrace is a serious effort to bring DTrace to Linux, specifically Oracle Linux. Various releases over the years have shown steady progress. The developers have even spoken about improving the DTrace test suite, which shows a promising attitude to the project. Many useful providers have already been completed: syscall, profile, sdt, proc, sched, and USDT. I’m still waiting for fbt (function boundary tracing, for kernel dynamic tracing), which will be awesome on the Linux kernel. It’s ultimate success will hinge on whether it’s enough to tempt people to run Oracle Linux (and pay for support). Another catch is that it may not be entirely open source: the kernel components are, but I’ve yet to see the user-level code.
可以看出,由于当年Sun
开源DTrace
使用的是CDDL
协议,Brendan Gregg
认为这个很大地妨碍了人们为dtrace4linux
贡献代码,而dtrace4linux
也不大可能最终进入Linux kernel
,所以dtrace4linux
的结局很可能会成为一个add-on
产品。不过Brendan Gregg
还是很希望dtrace4linux
能最终完成。而对OL DTrace
,Brendan Gregg
看到了很多积极的进展:包括很多provider
都已经实现了。Brendan Gregg
很期待fbt
这个provider
。但同时他也指出Oracle
是否会开源全部代码以及人们是否乐意尝试Oracle Linux
将决定OL DTrace
能否最终成功。