AFAIU, it goes beyond safety; eBPF is designed to run entirely in the kernel rather than requiring a user-space bridge. So it's able to operate at line speeds in networking scenarios etc.
> you are merely referring to the fact that it is licensed under the MPL-derived CDDL and not the GPL.
Not really. I'm referring to the fact the eBPF will be available across Microsoft, Apple, and Linux, and there is no other technology that will be able to offer that.
> not seeking to solve the same problems!
Exactly. eBPF has a much broader and more significant problem set, not just tracing, but also security modules, software defined networking, and an almost unlimited future potential as well.
- DTrace does execute entirely in the kernel. Indeed, anonymous tracing is instrumenting the system without any corresponding user process whatsoever
- DTrace exists on quite a few systems, including (with caveats) Windows, MacOS and Linux.
- The unbounded nature of eBPF very much runs contrary to the safety that DTrace assures; DTrace isn't seeking to augment the system, but merely to understand it
> I'm referring to the fact the eBPF will be available across Microsoft, Apple, and Linux, and there is no other technology that will be able to offer that.
I don’t know if there’s some qualification I’m missing in your statement, but does this not count?
While you're correct to say that DTrace is available on Linux, it is so restricted as to be much less capable than eBPF. It is the reason it will become a footnote, and eBPF will become ubiquitous.
It may become a footnote on Linux, but Linux isn't the only system out there -- and DTrace remains alive and well in many systems (not least in its reference implementation in illumos[0]).
You're discounting the network effects. Also, eBPF provides many more capabilities beyond dTrace, and it will be ubiquitous across all OS, without having to make the exception for Linux. Anyone targeting full cross-platform capabilities will be better served by eBPF. The unfortunate history that crippled dTrace on Linux, will lead to its ultimate sidelining.
I don't really know what you mean by network effects, but perhaps we're just talking about two different things: you are looking at eBPF as a substrate to deliver arbitrary software (?!) whereas I view DTrace exclusively as a diagnostic tool. As to their relative capabilities: its other potential advantages aside, eBPF (and the tooling built upon it like bcc) lacks much of the functionality and polish of DTrace when attempting to accurately instrument the system. Its lack of robustness makes even basic instrumentation challenging,[0] let alone the richer (and admittedly, more esoteric) features of DTrace that it's missing entirely.
You can argue about the relative beauty and polish of the tech, but just as Git won against more polished alternatives, so too will eBPF displace others because of its platform reach.
eBPF combines amazing tech, with a platform reach that is impossible for dTrace to provide. It's this unique combination that will capture the mindshare necessary to relegate others to the sidelines.
> you are merely referring to the fact that it is licensed under the MPL-derived CDDL and not the GPL.
Not really. I'm referring to the fact the eBPF will be available across Microsoft, Apple, and Linux, and there is no other technology that will be able to offer that.
> not seeking to solve the same problems!
Exactly. eBPF has a much broader and more significant problem set, not just tracing, but also security modules, software defined networking, and an almost unlimited future potential as well.