[Mono-dev] Mono preview 2.0 binary and DTrace

Boris Dušek boris.dusek at gmail.com
Sat Aug 2 11:25:17 EDT 2008


I grabbed the Mono Preview 2.0 installer for OS X and wanted to test
new DTrace probes mentioned in Release Notes[1], but it did not work.
On the #mono IRC channel, I learned that DTrace probes in mono are not
enabled in the binary packages provided, since it would incur
performance penalty even when no tracing is done. However, from the
DTrace docs, they say especially that "... No instrumented code is
present for inactive probes, so your system does not experience any
kind of performance degradation when you are not using DTrace. ... No
effective difference exists between a system where DTrace is not
active and one where the DTrace software is not installed." (quote
from 2nd paragraph of
http://docs.sun.com/app/docs/doc/817-6223/chp-intro-3?a=view )

I will understand not having DTrace-enabled Mono binary package for OS
X if there is a performance penalty, however in situation when the
DTrace documentation states the contrary, and Perl, Python, Ruby and
Java SE 6 shipped[1] with OS X Leopard are DTrace-enabled, I really
want to know if disabling of DTrace probes in Mono is correctly
reasoned. I think with the release notes wording "In MacOS and Solaris
Mono supports DTrace probes. To use this feature, you must configure
mono with --enable-dtrace.", many people will think like me that the
"configure with --enable-dtrace" holds only for compiling from source,
and that the Mono binary package offered for download has this enabled
just like Java, Python etc. in OS X.

I have to note that I am no DTrace usage expert (not to speak about
implementation), and started learning DTrace just this Monday, so I am
just curious about the situation.

Anyway, thanks for making the DTrace probes, compiling Mono from
source with --enable-dtrace configure flag, as specified in Release
Notes, does the trick.

Boris Dušek

[1]: yes, I know it says it must be enabled with configure
--enable-dtrace flag, but I thought that holds for compiling from
source only and that the binary packages provided for OS X do have
this enabled
[2]: OK, Java SE 6 was shipped after Leopard

More information about the Mono-devel-list mailing list