I don't see any info about the version they're running, commands
"dtrace -l" and
"dtrace -f write"
just fail and print the usage on my Fedora 18 (package systemtap-sdt-devel-2.1-2.fc18.x86_64). Too bad, DTrace seems interesting !
I am not sure about how well DTrace works on Fedora. What Oracle is shipping with Oracle Linux is not compatible with GPL licensing (read CDDL) and hence can't be included as it is by other Linux distributions. Having said, I will try the fedora 18 package when I get a chance and reply back here. But in the meanwhile, for best results - please try it on one of the OSes I mentioned in blog post.
Also, just to double check you are running those commands with sudo right? dtrace won't work without root access.
Also forgot to mention, I am using DTrace that ships with Mountain Lion and DTrace api version is - Sun D 1.6.2.
DTrace requires support from the kernel to work. It started out in Solaris, then was ported to FreeBSD (which is why it's in Mac OS X). I don't think it's supported by Linux in general, but it appears that Oracle ported DTrace to Oracle Linux just recently: https://www.networkworld.com/news/2013/030113-oracle-ports-d...
If you want to give DTrace a try, you could try PC-BSD (the desktop version of FreeBSD) -- there are preinstalled images for VMWare, VirtualBox, etc., and live USB images if you prefer: http://www.pcbsd.org/en/download.html
btrace is a complete DTrace-like implementation for the JVM that doesn't require DTrace (but can integrate with it if you want). It allows complete runtime instrumentation of the code - you can profile specific methods, trace argument values and much more.
Really great to see more articles on dtrace recently. The one feature I was missing from them all, is a way to sort and parse dtrace logs programmatically. Since dtrace can dump method calls out-of-order, some sorting is necessary to see the correct program flow.
It's in IcedCoffeeScript but could easily be adapted to Ruby or another language. I used it to debug a native iOS module for a Titanium Mobile app. HTH others as much as it did me!
14 comments
[ 2.6 ms ] story [ 41.6 ms ] threadDTrace support is also one reason I'd really like to see FreeBSD supported as a first-class platform on AWS and/or Azure. Maybe this'll be the year...
Also, just to double check you are running those commands with sudo right? dtrace won't work without root access.
Also forgot to mention, I am using DTrace that ships with Mountain Lion and DTrace api version is - Sun D 1.6.2.
If you want to give DTrace a try, you could try PC-BSD (the desktop version of FreeBSD) -- there are preinstalled images for VMWare, VirtualBox, etc., and live USB images if you prefer: http://www.pcbsd.org/en/download.html
http://www.mono-project.com/DTrace
http://www.mono-project.com/SGen_DTrace
http://www.amazon.com/DTrace-Dynamic-Tracing-Solaris-FreeBSD...
http://www.dtracebook.com/index.php/Main_Page
There's another very detailed book available for free from illumos (the OpenSolaris fork):
http://dtrace.org/guide/preface.html
Full disclosure: I work at Big Nerd Ranch.
So here's a start: dtrace-json
https://github.com/doublerebel/dtrace-json
It's in IcedCoffeeScript but could easily be adapted to Ruby or another language. I used it to debug a native iOS module for a Titanium Mobile app. HTH others as much as it did me!