TL;DR: DTrace uses a minimalistic C dialect called D to write it's probes, hence the name.
In order to trace arbitrary code, it has to inject these into the code site that you want inspected.
If you could just inject arbitrary C, you'd get the issue of potentially adding probes which change the behaviour of your code under test to a degree where new bugs/behaviours are introduced or old bugs/behaviours are masked.
DTrace solves this by using a C subset which helps you avoid such unwitting changes, by not including loops or other operations which could change the memory or timing behaviour of the existing system.
Re:An Unbelievable Demo
by layoutIfNeeded on Friday June 04, 2021 @06:36AM
(#27392285)
>DTrace uses a minimalistic C dialect called D
Which is completely unrelated to the other language called D, also known as DLang. (which was released 4 years earlier than DTrace by the way)
Should've called it C--.
Re:An Unbelievable Demo
by tapotatonumber9 on Friday June 04, 2021 @02:07PM
(#27396796)
Or, if less is more, perhaps “C-+”?
What does it mean, for example in the JVM arguments start with "D" as well.
Any history to this?